{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<torch._C.Generator at 0xeb6cb90>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "np.random.seed(42)\n",
    "torch.manual_seed(42)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "#1.生成数据：y = a*x + b + 噪声\n",
    "N = 120                  # 样本数\n",
    "true_a = 2.5             # 真实斜率\n",
    "true_b = -1.7            # 真实截距\n",
    "noise_std = 2.0          # 高斯噪声标准差\n",
    "\n",
    "x = np.random.uniform(-5, 5, size=(N, 1))\n",
    "noise = np.random.normal(loc=0.0, scale=noise_std, size=(N, 1))\n",
    "y = true_a * x + true_b + noise\n",
    "\n",
    "X = torch.tensor(x, dtype=torch.float32)\n",
    "Y = torch.tensor(y, dtype=torch.float32)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "#2.线性模型：y = w*x + b\n",
    "model = nn.Linear(in_features=1, out_features=1)\n",
    "\n",
    "#3.损失函数 + 梯度下降优化器（SGD）\n",
    "criterion = nn.MSELoss()\n",
    "optimizer = torch.optim.SGD(model.parameters(), lr=0.1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 100/600 | MSE: 3.8297\n",
      "Epoch 200/600 | MSE: 3.8297\n",
      "Epoch 300/600 | MSE: 3.8297\n",
      "Epoch 400/600 | MSE: 3.8297\n",
      "Epoch 500/600 | MSE: 3.8297\n",
      "Epoch 600/600 | MSE: 3.8297\n",
      "训练结果:\n",
      "\n",
      "真实参数: a = 2.5000, b = -1.7000\n",
      "学习到的: a = 2.4527, b = -1.5856\n",
      "MSE = 3.8297, R^2 = 0.9325\n"
     ]
    }
   ],
   "source": [
    "# 训练\n",
    "epochs = 600\n",
    "for epoch in range(epochs):\n",
    "    optimizer.zero_grad()  #梯度清零\n",
    "    Y_hat = model(X)       #前向传播\n",
    "    loss = criterion(Y_hat, Y)\n",
    "    loss.backward()        #反向传播\n",
    "    optimizer.step()\n",
    "\n",
    "    if (epoch + 1) % 100 == 0:\n",
    "        print(f\"Epoch {epoch+1:3d}/{epochs} | MSE: {loss.item():.4f}\")\n",
    "\n",
    "# 学到的参数\n",
    "w = model.weight.detach().item()\n",
    "b = model.bias.detach().item()\n",
    "\n",
    "# 计算 MSE 和 R^2\n",
    "with torch.no_grad():\n",
    "    pred = model(X)\n",
    "mse = float(criterion(pred, Y).item())\n",
    "y_mean = Y.mean()\n",
    "ss_tot = float(((Y - y_mean) ** 2).sum().item())\n",
    "ss_res = float(((Y - pred) ** 2).sum().item())\n",
    "r2 = 1.0 - ss_res / ss_tot\n",
    "\n",
    "print(\"训练结果:\\n\")\n",
    "print(f\"真实参数: a = {true_a:.4f}, b = {true_b:.4f}\")\n",
    "print(f\"学习到的: a = {w:.4f}, b = {b:.4f}\")\n",
    "print(f\"MSE = {mse:.4f}, R^2 = {r2:.4f}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 22522 (\\N{CJK UNIFIED IDEOGRAPH-57FA}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 20110 (\\N{CJK UNIFIED IDEOGRAPH-4E8E}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 26799 (\\N{CJK UNIFIED IDEOGRAPH-68AF}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 24230 (\\N{CJK UNIFIED IDEOGRAPH-5EA6}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 19979 (\\N{CJK UNIFIED IDEOGRAPH-4E0B}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 38477 (\\N{CJK UNIFIED IDEOGRAPH-964D}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 30340 (\\N{CJK UNIFIED IDEOGRAPH-7684}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 32447 (\\N{CJK UNIFIED IDEOGRAPH-7EBF}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 24615 (\\N{CJK UNIFIED IDEOGRAPH-6027}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 22238 (\\N{CJK UNIFIED IDEOGRAPH-56DE}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 24402 (\\N{CJK UNIFIED IDEOGRAPH-5F52}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 27169 (\\N{CJK UNIFIED IDEOGRAPH-6A21}) missing from current font.\n",
      "  plt.tight_layout()\n",
      "C:\\Users\\20533\\AppData\\Local\\Temp\\ipykernel_23560\\1055429676.py:14: UserWarning: Glyph 22411 (\\N{CJK UNIFIED IDEOGRAPH-578B}) missing from current font.\n",
      "  plt.tight_layout()\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArIAAAHqCAYAAAD4TK2HAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACfRUlEQVR4nOzdd3wc5Z0/8M8zM9ubVmUly5Lljg2mGJOATaih2CaFQPiRBg4J5EguBQhHKLk7CDEmJBBSLuWSO4xJ7sIlgVwO00NNDARMtS03bMtdu9KutreZeX5/rHe9K62klbSj3Rl936+XEzzaMo++Gvm7zzzP98s45xyEEEIIIYTojFDrEyCEEEIIIWQ8KJElhBBCCCG6RIksIYQQQgjRJUpkCSGEEEKILlEiSwghhBBCdIkSWUIIIYQQokuUyBJCCCGEEF2iRJYQQgghhOgSJbKEEEIIIUSXpFqfACGEVFt3dzeWLl064mNefvllnHHGGSM+5vXXX4csy6O+Fj2u/h43b968ER9DCDEGSmQJIYajKAoWLVqEv/71r2W//qEPfQiMsVEfoyhKRa9Fj6u/xxFCpgZaWkAIIYQQQnSJEllCCCGEEKJLlMgSQgghhBBdokSWEEIIIYToEiWyhBBCCCFElyiRJYQQQgghukSJLCGEEEII0SVKZAkhhBBCiC5RIksIIYQQQnSJEllCCCGEEKJLlMgSQgghhBBdokSWEEIIIYToklTrEyCEkGoTRRHvvPMOGhoayn5dURQoijLqYwRBqOi16HH19zhCyNTAOOe81idBCCGEEELIWNHHVkIIIYQQokuUyBJCCCGEEF2iRJYQQgghhOgSbfYaRFVVHDx4EC6XC4yxWp8OIYQQQsiUwjlHNBpFe3v76Js3uY68+OKL/CMf+QifNm0aB8AfffTRkq+vWrWKAyj5c+qpp47pPfbt2zfkNegP/aE/9If+0B/6Q3/oz+T+2bdv36h5m65mZOPxOE488URcddVVuPTSS8s+Zvny5XjggQcKfzebzWN6D5fLBQDYt28f3G73+E92CuOcQ5ZlSJJEs9o6RTHUP4qhMVAc9Y9iOHaRSASdnZ2FnGwkukpkV6xYgRUrVoz4GIvFgra2tnG/R/6HzO12UyI7AaqqUi1HnaMY6h/F0BgojvpHMRyfShJ/w31XX3jhBfh8PsyfPx/XXHMN/H5/rU9pylFVFX6/H6qq1vpUyDhRDPWPYmgMFEf9oxhqS1czsqNZsWIFLrvsMnR1dWH37t3453/+Z5x77rnYuHEjLBZL2eek02mk0+nC3yORCIDcD17+h44xBsYYOOfgRf0jRjs++Id2rMcFQRjy2mM9Pt5zn8iYVFUtPNcoYxrpuBHHBORuh01krPU2JiPGqZJzL36OUcY02nEjjSn/+zT/GCOMaaLnrrcxFf+baJQxTeR4pXlEpQyVyF5++eWF/160aBFOOeUUdHV1Yf369bjkkkvKPmfNmjW44447hhwPBAJIpVIAAJvNBo/Hg0gkgmQyWXiMw+GAy+VCKBRCJpMpHHe73bDb7QgGg5BluXDc6/XCYrEgEAiUBLepqQmiKA6ZPfb5fFAUBf39/YVjjDG0trYik8kgFAoVjkuShObmZiSTyUIyDuTWCDc2NiIWiyEejxeOazmm/EWrqir6+voMMSbAeHEaaUzNzc2FWYT87TC9j8mIcRptTAMDA+CcQxAEw4zJiHEaaUyqqiIcDsNsNqOpqckQYzJinEYak6qqhXEYZUyAtnGKRqOolG5b1DLG8Oijj+Liiy8e8XHz5s3D1VdfjW9961tlv15uRrazsxOhUKiwRnbwpwtVVZHJZOiT1DDHVVVFMBhEc3MzBqu3MZnNZjBWugZnqsRppOMA0Nvbi5aWlpJ1XXoekxHjNNK5K4oCv99fEkO9j8mIcRrtuKqqCAQC8Pl8EEXREGOa6LnrbUz5GLa2tha+pvcxTeR4JeceiUTg9XoRDodH3a9kqBnZwfr7+7Fv3z5MmzZt2MdYLJayyw4EQRiyMJsxhmw2i927d9Nal1Fwzks+udWzhoYGtLW1DUloh1uYX+54/kKsl+NjOffhjre2ttbVWKsxJiPGabjXFkWxbAz1PCYjxmm044IglMTRCGPS6ni9jqlcDCt9nXod00SOV3LuY9kYp6tENhaLYefOnYW/7969G2+//TYaGxvR2NiI22+/HZdeeimmTZuGPXv24NZbb0VzczM+8YlPVOX9Oec4dOgQRFFEZ2cn7UAcRv5T2HA/xPWCc45EIlG4FTPSB56phnMORVHqPoZkeBRDY6A46h/FUFu6SmTfeOMNnHPOOYW/33DDDQCAVatW4ec//znee+89rFu3DgMDA5g2bRrOOeccPPzwwxXVIauELMtIJBJob2+H3W6vymsaEef6qZlns9kAAH6/v3DrjuRi2N/fD5/PV/cxJOVRDI2B4qh/FENt6SqRPfvss4es5yj21FNPafr+iqIAGHuTBVLf8h9KstksJbKEEEKIjtC98XGgT1TGQvEkhBBC9IkSWUJIWZTg6x/F0BgojvpHMdSOrpYWEH1gjMFkMtX6NMgE5HfZEv2iGBoDxVH/KIbaohnZKeDzn/98YbekyWRCa2srzj//fPznf/7nmMqIrV27Fg0NDaM+Ll/7cKT1zKS+cc6RTqcphjpGMTQGiqP+TWYMVZVj6+EIXtvVj62HI1BV4//c0IxsDagqx3Z/FOFEFh67CfN9LgiCtrcdli9fjgceeACKoqC3txdPPvkkvvGNb+APf/gD/vznP0OSqvujoChK1V+TTB7OOUKhEO2y1TGKoTFQHPVvsmK4sSeIBzf0YKc/hoyswCyJmOtzYtWyLizpatTsfWuNZmQn2caeIK57+G3c8PA7uO3R93DDw+/guoffxsaeoKbva7FY0NbWhunTp+Pkk0/Grbfeiv/93//FE088gbVr1wIA7rvvPhx//PFwOBzo7OzEV77yFcRiMQDACy+8gKuuugrhcLgwu3v77bcDAH7zm9/glFNOgcvlQltbGz772c8OaZNHCCGEEG1s7Ali9fpubDoQhtsqocNrh9sqYfPBMFav79Y8x6glSmQnUb39oJ177rk48cQT8cgjjwDIreP58Y9/jE2bNuHBBx/Ec889h5tuugkAsGzZMtx///1wu904dOgQDh06hBtvvBEAkMlkcOedd+Kdd97Bn/70J+zevRtXX331pI6FEEIImYpUlePBDT0YSGQxs8kOh0WCKDA4LBK6Gu0IJ7NYt6HHsMsM6N7vJBn8g5a/veCwSLCbRfQEE1i3oQeLO72aLzMotmDBArz77rsAgOuuu65wfNasWbjzzjvx5S9/GT/72c9gNpvh8XjAGENbW1vJa3zhC18o/Pfs2bPxox/9CKeeeipisVjVmlGQyUdLQ/SPYmgMFEf90zKG2/1R7PTH4HNZhixdYIyhxWnBDn8M2/1RLGhza3YetUIzspNkLD9okynfShYAnn/+eZx//vmYPn06XC4XrrzySvT39yMej4/4Gm+99RY+/vGPo6urCy6Xq9B9bd++fZqfP9GGIAhobm6mNsw6RjE0Boqj/mkdw3Aii4yswGoq39DHahKRkRWEE1lN3r/W6MqYJPX6g9bd3Y1Zs2ahp6cHK1euxKJFi/DHP/4RGzduxL/9278ByHW8Gk48HscFF1wAp9OJ3/zmN3j99dcLSxXS6fSkjIFUH+cciUSCdkrrGMXQGCiO+qd1DD12E8ySiFRWKfv1VDa38ctjN2ZZTEpkJ0k9/qA999xzeO+993DppZfijTfegCzLuPfee3Haaadh/vz5OHjwYMnjzWZzoU1v3tatW9HX14e7774bZ5xxBhYsWEAbvQyAc45IJEL/eOoYxdAYKI76p3UM5/tcmOtzIhAbWuKLc45ALI15Pifm+4y51I8S2UlS6x+0dDqNw4cP48CBA3jzzTdx11134eMf/zg+8pGP4Morr8ScOXMgyzJ+8pOfYNeuXXjooYfwi1/8ouQ1Zs6ciVgshr/85S/o6+tDIpHAjBkzYDabC8/785//jO9+97uajIEQQgghpQSBYdWyLnhsJvQEE4inZSgqRzwtoyeYgMdmwpXLuiZ1/81kokR2ktT6B+3JJ5/EtGnTMHPmTCxfvhzPP/88fvzjH+N///d/IYoiTjrpJNx333343ve+h0WLFuG3v/0t1qxZU/Iay5Ytw7XXXovLL78cLS0tuOeee9DS0oK1a9fi97//PY499ljcfffd+P73v6/JGAghhBAy1JKuRtx20UIc1+5BJCVjfyiBSErGonYPbrtooaHryDJO9ytKRCIReDwehMNhuN2lu/tSqRR2796NWbNmwWq1juv1yxUsnudz4koDFSzmnENRFIiiqIsC3tWIq9HkC3h7vV5dxJAMRTE0Boqj/k1mDGvRcEkLI+Vig1FNj0m2pKsRizu9hvhBGw5jjMrF6BxjDI2NxvhgNVVRDI2B4qh/kxlDQWCGLLE1Eso2asDoP2icc6iqCkEQaAZBpzjniMVicDqdFEOdohgaA8VR/yiG2qI1skQTqqrW+hTIBHDOEY/Haae0jlEMjYHiqH8UQ21RIksIIYQQQnSJEllCCCGEEKJLlMgSTdA6IH1jjMFms1EcdYxiaAwUR/2jGGqLNnuRqqOqBfrHGIPH46n1aZAJoBgaA8VR/yiG2qIZWVJ1nHPIskwL23WMc45wOEwx1DGKoTFQHPWPYqgtSmSJJuiC1TfOOZLJJMVRxyiGxkBx1D+KobYokZ3izj77bFx33XWT9n5r165FQ0PDsF/fs2cPGGN4++23AQAvvPACGGMYGBiYlPMjhBBCiH5QIjsFfP7znwdjbMifnTt34pFHHsGdd95ZeOzMmTNx//33lzx/tORTS8uWLcOhQ4dofREhhBBChqAdOVPE8uXL8cADD5Qca2lpgSiKmryfIFTnM5LZbEZbW1tVXotUjjEGh8NBu2x1jGJoDBRH/aMYaotmZKcIi8WCtra2kj+iKJYsLTj77LPR09OD66+/vjBr+8ILL+Cqq65COBwuHLv99tsBAJlMBjfddBOmT58Oh8OBU089tbAUQBRFMMawdu1azJgxA3a7HZ/4xCfQ398/pvMevLQgPzv81FNPYeHChXA6nVi+fDkOHTpU8rwHHngACxcuhNVqxYIFC/Czn/1sot/CKYUxBpfLRb94dYxiaAwUR/3TewxVlWPr4Qhe29WPrYcjUNX6WutLM7Kk4JFHHsGJJ56IL33pS7jmmmsAAI2Njbj//vvxL//yL9i2bRsAwOl0AgCuuuoq7NmzB7/73e/Q3t6ORx99FMuXL8e7776L2bNn44033sAXvvAF3HXXXbjkkkvw5JNP4l//9V8nfJ6JRAI/+MEP8NBDD0EQBHzuc5/DjTfeiN/+9rcAgF/96lf413/9V/z0pz/F4sWL8dZbb+Gaa66Bw+HAqlWrJvz+UwHnHKFQCF6vV7e/fKc6iqExUBz1T88x3NgTxIMberDTH0NGVmCWRMz1ObFqWReWdDXW+vQAUCI7YR/9yV8RiKYn/X1bXBb839c+VPHjH3vssUICCgArVqzA73//+5LHNDY2QhRFuFyuktv5Ho8HjLGSY++//z7++7//G/v370d7ezsA4MYbb8STTz6JBx54AN/5znfw4x//GBdeeCFuvvlmAMD8+fOxYcMGPPnkk+Mac142m8UvfvELzJkzBwDw1a9+Fd/5zncKX7/zzjtx77334pJLLgEAzJo1C1u2bMEvf/lLSmQrxDlHJpMB51x3v3hJDsXQGCiO+qfXGG7sCWL1+m4MJLLwuSywmixIZRVsPhjG6vXduO2ihXWRzFIiO0GBaBqHI6lan8aozjnnHPz85z8v/N3hcEzo9d58801wzjF//vyS4+l0Gk1NTQCA7u5ufOITnyj5+tKlSyecyNrt9kISCwDTpk2D3+8HAAQCAezbtw9f/OIXC7PKACDLMm0YI4QQQiqgqhwPbujBQCKLmU32QgLusEiwm0X0BBNYt6EHizu9EITaJueUyE5Qi8uii/d1OByYO3du1d5fVVWIooiNGzcO2TCWT5K1qplnMplK/s4YK7yXqqoAcssLTj311JLHabWxjRBCCDGS7f4odvpj8LksQ2aRGWNocVqwwx/Ddn8UC9rcNTrLHEpkJ2gst/f1wGw2Q1GUUY8tXrwYiqLA7/fjjDPOKPka5xyqquLYY4/Fq6++WvK1wX+vttbWVkyfPh27du3CZz/7WU3fy8gYY3C73bq6DUZKUQyNgeKof3qMYTiRRUZWYDWVnzSzmkT0xdIIJ7KTfGZDUSJLSsycORMvvfQSPvWpT8FisaC5uRkzZ85ELBbDX/7yF5x44omw2+2YP38+PvvZz+LKK6/Evffei8WLF6Ovrw/PPfccjj/+eKxcuRJf//rXsWzZMtxzzz24+OKL8fTTT094WUElbr/9dnz961+H2+3GihUrkE6n8cYbbyAUCuGGG27Q/P2NgDEGu91e69MgE0AxNAaKo/4NjqGqcmz3RxFOZOGxmzDf56r57fnBPHYTzJKIVFaBwzI0VUxlcxu/PHZTmWdPLiq/RUp85zvfwZ49ezBnzhy0tLQAyDUluPbaa3H55ZejpaUF99xzD4Bciasrr7wS3/zmN3HMMcfgYx/7GF577TV0dHQgm83i1FNPxa9//Wv85Cc/wUknnYSnn34a3/72tzUfw9VXX41f//rXWLt2LY4//nicddZZWLt2LWbNmqX5exuFqqro6+srLNUg+kMxNAaKo/4Vx3BjTxDXPfw2bnj4Hdz26Hu44eF3cN3Db2NjT7DWp1livs+FuT4nArH0kGWCnHMEYmnM8zkx3+eq0RkexTg1/y0RiUTg8XgQDofhdpeu+0ilUti9ezdmzZoFq9VaozOsf5xzyLIMSZJ0cSuF4jqUqqrw+/3w+XxVa25BJhfF0BgojvqXj+H+lAl3Pb61qApAbsYzEEvDYzPVTRWAvHzVgnAyixbn5J7vSLnYYHRVEEIIIYRoSFU5HnrlaBUAh0WCKDA4LBK6Gu0IJ7NYt6GnrpoNLOlqxG0XLcRx7R5EUjL2hxKIpGQsavfUVdJNa2QJIYQQQjR0MJzUTRWAYku6GrG401vXa3opkSWaoFJX+sYY02UXGnIUxdAYKI76xxhDVrQjLStoMZVfvlZPVQAGEwRWV8n1YLS0gFQdYwyCINAvXh1jjMFiGTpzQPSDYmgMFEf9Y4zB67bDLElIZZWyj6mnKgB6Q4ksqTrOObLZrGYNEYj2VFVFb28v7ZTWMYqhMVAc9U9VVXh4AvN8Dl1UAdAbSmTHgRI0Y6F/IMqjn3P9oxgaA8VR/xgDrljaBY/NhJ5gAvG0DEXliKdl9AQT8NhMuHJZV12tPdULWiM7BiaTCYwxBAIBtLS00K2eYeil/BbnHJlMBoFAAIIgwGw21/qUCCGEGNTJM7y47aKFeHBDD3b6Y+iLpWGWRCxq9+DKZV11UwVAbyiRHQNRFNHR0YH9+/djz549tT6dupVvUauXdbJ2ux0zZsygGo2EEEI0pYcqAHpDDREGqaQIr6IoyGbrb2dhvdDLjCyQ+3Cih/OcbHqKISmPYmgMFEf9oxiO3VgaItCM7DiIokjlpUaRn5El+sQYgyiK9EtXxyiGxkBx1D+KobYo0yBVl2/HR5uo9ItiqH8UQ2OgOOofxVBblMgSQgghhBBdokSWEEIIIYToEiWyhBBCCCFElyiRJVUnCAJ8Ph9t9tIxiqH+UQyNgeKofxRDbdF3lVQd5xyKolA3Gh2jGOofxdAYKI76Z5QY1uv5UyJLqo5zjv7+/rr9oSejoxjqH8XQGCiO+qf3GHLO8X/vHMSKH70MfzRV69MZghJZQgghhBAyxGu7+nHxv/0NX/vvt7D1cBQ/fGZHrU9pCF0lsi+99BI++tGPor29HYwx/OlPfyr5Oucct99+O9rb22Gz2XD22Wdj8+bNtTlZQgghhBAd2umP4eoH38Dl//4q3tkfLhw/MJCEotbXzLKuEtl4PI4TTzwRP/3pT8t+/Z577sF9992Hn/70p3j99dfR1taG888/H9FodJLPlFAHE/2jGOofxdAYKI76p5cYBqJp3Pboe7jw/pfwbHdv4fgxrS48cNUH8OBVH4Ao1NdYGNfpog3GGB599FFcfPHFAHKzse3t7bjuuuvwrW99CwCQTqfR2tqK733ve/iHf/iHil53LP19CSGEEEImm6pybPdHEU5k4bGbMN/ngjCBBDORkfHrl3fjly++j3hGKRz3uSz45gXz8cklnZOawI4lF5Mm6Zw0t3v3bhw+fBgXXHBB4ZjFYsFZZ52FDRs2DJvIptNppNPpwt8jkQiAXEu5fDs5xhgYY+CclyzWHu344HZ0Yz0uCMKQ1x7r8fGe+0TGxDlHNpuFxWKZ0LnX05hGOm7EMTHGkE6nYTKZSmYS9DwmI8ZppHNXVRXpdBpms7kQQ72PyYhxGu045xyZTAYWi6WqY6U4aTcmzoFtvZEjSaaEuc1OKIoMi8UCABMe05t7Q1i3YQ92+mPIyArMkog5PidWLZuJxZ0NYzp3WVHxh4378cNnd8AfPZoLOcwi/uHM2fjCh2bCYTFNepzG0s7XMIns4cOHAQCtra0lx1tbW9HT0zPs89asWYM77rhjyPFAIIBUKrc7z2azwePxIBKJIJlMFh7jcDjgcrkQCoWQyWQKx91uN+x2O4LBIGRZLhz3er2wWCwIBAIlwW1qaoIoivD7/SXn4PP5oCgK+vv7C8cYY2htbUUmk0EoFCoclyQJzc3NSCaThWQcAMxmMxobGxGLxRCPxwvHtRyTqqrgnKO1tRV9fX2GGBNgvDiNNKbm5mb09/eDMVaofaj3MRkxTiONKZ1OY8+ePfB4PBAEwRBjMmKcRhuTqqoIh8Pw+XxoamoyxJiMGKe8XcEUfvdOCIFgGA4hC5MoYFqDFWfOcuPMJcchGo1OaEx748DdT70PDxI4xmOCWRSRUVRsORTGXeu34PoPtWKuzzXqmHw+H57ZdBB3P7kVu/qPViIQBYbLTp6GKxY3o8lhQmwgiEwN4jSWJaGGWVqwYcMGnH766Th48CCmTZtWeNw111yDffv24cknnyz7OuVmZDs7OxEKhQrT2Xr/dFiLT1KBQGDIhwo9j2mk40YcEwD09vaipaWlpIi3nsdkxDiNdO6KosDv95fEUO9jMmKcRjue/33q8/kgiqIhxjTRc6/XMb25N4Q1j3cjlJDhc5lhM4lIZRX0xVJY6OW48tyTsKSrcdxjUlWOG37/DjYdiGBWkw2MHb1bpnKOnmASx7e78YPLTiwsMyh37psOhHH3k9uw4f2jyS0AnL/Qh2+tWIg5LY6axykSicDr9U6tpQVtbW0AcjOzxYms3+8vm1DlWSyWwnR/MUEQhnThyH+zBxvu+HBdPMZyfKzvqfXxSs89/1wjjWmk40Ybk6qqYIxV5TqolzHV8txrOabBMTTCmCb7eK3HNNx/T+T1az0mLY7XckyqyrHulb0IJWTMbLIXHmu3CJhhFpFIRfCbV3pw8ozGMb1v8WO3+yPY6Y/D57IATAAf9PwWpwXb/XHs7ItjQZu75GuMMewPJXDv09vx6FsHSt7jpM4G3LpyIT44q7HkOdX63ow0puGOj6ULmmES2VmzZqGtrQ3PPPMMFi9eDADIZDJ48cUX8b3vfa/GZzf1SJJhfrSmLIqh/lEMjYHiWP+2+6PY6Y/B57IMSd4YY7Bbzdjhj2G7P1qSZI5FOJFFRlZgNQ2dfAMAq0lEXyyNcCJb+rxkFj97fice2LAHGfnorOeMRjtuWn4MLjp+WtmEUy90dXXEYjHs3Lmz8Pfdu3fj7bffRmNjI2bMmIHrrrsOd911F+bNm4d58+bhrrvugt1ux2c+85kanvXUIwgCmpuba30aZAIohvpHMTQGiqM+jJRkcjBEuA1pOTEkyRwLj90Es5RbruCwDE3fUtncxi+P3QQAyMgqHnq1Bz95bgcGit63wW7C186dh8+dNgMWSRz3+dQLXSWyb7zxBs4555zC32+44QYAwKpVq7B27VrcdNNNSCaT+MpXvoJQKIRTTz0VTz/9NFwu13AvSTTAOUcymYTNZtP1p7ypjGKofxRDY6A41j9V5QgmMsgqHP2xFGxmCbLKYRIEOCwiGAMEJQOzJBSSzPGY73Nhrs+JzQfDsJvFkp8HzjkCsTQWtXswr8WJx949iHue3Ia9wUThMWZJwFXLZuIr58yFxzb+86g3ut3spRWqIztxqqrC7/fD5/ONaZ0LqR8UQ/2jGBoDxbG+bewJ4sENPdjpj2F3XxyprAJRYJAEBklkcJgldHqtaGBJOBuacN/liydU73VjTxCr13cjnMyixWmB9ciGskAsDY/NhEtOno4/bDyAt/cNlDzvE4un45sXzEeH1z7BEU+OKVlHlhBCCCFksuSTyoFEFjaTgPwEqaxyqJxDFESEU1lEDmZwRqcZn1vaNaEkFgCWdDXitosWFpLnvlgaZklEV6MDsUwW3/7T5pLHL5vThFtXLsSi6Z4JvW89o0SWEEIIIWQMVJXjwQ09GEhk0dVow5ZDubqnLquEVFZBVuFIyQqskgBRENBgN+GkjoaqvPeSrkYs7vRiuz+Knr44/u/dQ3hi02Eo6tEb7PNbnbhlxUKcfUyL4ZekUCJLqo4xVtJNiOgPxVD/KIbGQHGsT8VVChIZFfGMDLMoQBIYTKKAjKJCVlTMbnHCYRbhj6exIxDDwmnVmRlNyyqe2dyLX5RpKXv9+fNxQocHsZSMbb3RCbevrXeUyJKqY4yhsbFx9AeSukUx1D+KoTFQHOtTcZWCSCoLlQPikVyRATCLAhSVwyQKsJok7A9lEEnKI75mJRSV448b9+PeZ7ahNzKopexZc7CkqwEPv74fD73SU2hfO9fnxKplXVjSZcyfI0pkSdVxzhGLxeB0OmkWQacohvpHMTQGimN9Ki6FZRIECAxQOCAdCZGicggsNzubysposQJu2/hTLs45XtgewN2Pb8W23qPtW0WB4VMf6MR1583H3mC8sGbX57LAarIglVWw+WAYq9d347aLFhoymaVEllQd5xzxeBwOh4N+8eoUxVD/KIbGQHGsT8WlsGZ4bXCYJUTTMkQmAIwho6hwWSXYzSL2BeM4s9OMeS3Ocb3XpgNhrHmiG3/bOail7LGt+NbyBZjrc0JVOe58bAsGEtmSzmIOS+4ceoIJrNvQg8WdXsMtM6BElhBCCCGkDFXl2O6PIpzIwmM3FdabCgLDqmVdWL2+G3tDSTQ7zUhmFcSzufWqJoGh2WnB3mACDTYTzl3gG3MCeWAgiXuf2oZH3z6A4kKpJ3Y24NYVC3Dq7KbCsdE6i7U4LRPuLFavKJElhBBCCBmkuEZsufWmg0thuawSoqncOliXVQLnwKJ2D65YOgMd1so7eoWTWfzshZ144G+lLWU7G2246cIF+MgJQ1vKjrd9rRFQIkuqjjFGXWh0jmKofxRDY6A41kZxjdiR1psWl8IKJ7Jw2SSAA9GUXJjBZSxX4H+0GGZkFb850lI2VJRwemwmfO3cubhiadewLWXH2r42b7gZZz2hRJZUHWMMHo9xiy9PBRRD/aMYGgPFcfIV14itZL2pILBRb9ePFEPOOR5/7zDueWorevrLtJQ9e+6orW0rbV873+cqHB9txlkvqN8dqTrOOcLhMKj7sX5RDPWPYmgMFMfJN5b1ppUYKYZv7Anikp9vwD/+15slSezFJ7XjuW+ehVtWLhw1iQVQWLPrsZnQE0wgnpahqBzxtIyeYAIemwlXLjvaWSw/47zpQBhuq4QOrx1uq1SYcd7YE6xobPWAZmRJ1XHOkUwm4XK56HaYTlEM9Y9iaAwUx8lX7fWm5WL4fiCGe57ciqc295Y8dunsXEvZ4zvGPgs/XPvaRe0eXFk0yzrWGed6R4ksIYQQQsgR411vWom+WBo/enYH/uvve0tays7zOXHLygU45xjfhD6wDF6zW27dq9EqHFAiSwghhBByxHjWm44mlVXxb8/vxC9f2o1Y+miHL5/LghvOn49PLumAJFZntedoa3aNVuGAEllSdYwxKt6tcxRD/aMYGgPFcfIV14jtCSbQ4rTAasrN0AZi6SHrTUeiqBx/2Lgf9z61Df5YpnDcbhbxD2fOwTVnzoLdPLmpmMsmQeWAP5KCy2qCw1KarE9kxrkWKJElVccYg8tV+SdVUn8ohvpHMTQGimNtVLredDicc7y4PYC7n9iKrYeHtpT9xnnz4HNZtR7GEBt7glj7tz3oi6WRzCqwSAIc5txmrwa7adwzzrVEiSypOs45QqEQvF4vzSLoFMVQ/yiGxjCROBqhRmgtVbLetJzNB8NY8/hW/HVnX8nx8xb6cPOKBZhbowSxuDZuZ6Mde/vjyKoc4VQWSX8UnV4bUrI6phnnekCJLKk6zjkymQw45/QPqE5RDPWPYmgM442jUWqE1lolNWLzDgwkce/T2/DoW6UtZU/o8ODa01qx/OQ5EITaVD0tV6nAahKxP5RALCUjmVWwL5TE2fNbsOr0mbr6GaFElhBCCDGQSrtSkeqIpLL42fPv4z//trukpWyH14abli/AyuNa0dcXqOEZlq9U0GAzwWPzIJ6WEU1lkZJVXHv2HBzbrq8GHJTIEkIIIQZhtBqh9Swjq/jtaz348V9GbimrquoIrzI5hqtUwAA4LRJsR2Znoym5/AvUMUpkSdUxxuB2u+l2po5RDPWPYmgMY42j0WqE1iPOOZ7YdBj3PLkVe4pbyooCPn/6TPzjoJay9XAtalkbt9YokSVVxxiD3W6v9WmQCaAY6h/F0BjGGsfJrhE61TaUvbEniLse78abewdKjn/8pHbceMEx6GwcGqt6uBa1qI1bLyiRJVWnqiqCwSAaGxtrtrCdTAzFUP8ohsYw1jhO5szbVNpQtisQw/fKtJQ9bXYjbl25ECd0NAz73Hq4FqtZG7feUCJLNCHL+ltnQ0pRDPWPYmgMY4njZM28TZUNZf2xNH70lx34r9f2Qp5AS9l6uBYnWhu3XlEiSwghhMAYt8knY+at2hvK6uX7XnweFpOAl3f04Zcv7ippKdtypKXsZVVsKTuZxlsbt55RIksIIWTKM9Jtcq1n3qq5oWyi3/dqJcH589jRG0V/PI1gPFsyA2s3i/jSmbNxzRmzyy7Z0JOx1MbVA31Hg9Qlxhh1E9I5iqH+UQwrV8+3yccbRy1n3qq1oayS7/tIY6jWh4/8eRwcSCKSkpHIKCVfv+DYVnz3E4vG3VKWrkVtUSJLqo4xBoul/C84og8UQ/2jGFam3uuuTiSOWs28VWNDWfH3vavRhkRGRSSVhUkQMMNrw95QEvc/swMNdhPeD8SHJKoAqvLhQ1U5fvyXneg+FEEyW1rv1W3N/QxYTSKaHeO/luha1Jb+FniQuqeqKnp7e+uiCDQZH4qh/lEMKzOW2+S1UI9xzG8oC8TS4MW9WHF0Q9k8n3PEDWX577vNJGDLoSg2Hwpj6+Hc/285FIWqcrzRE8Jb+wbgtkro8NrhtkrYfDCM7z7WjR8+s6Pw4cNhkSAKDA6LhK5GO8LJLNZt6IGq8mHfHwAODiTxpYfewIvbAyVJrCQwWE0CZJUjkpTxwjY//vT2/nF/v+oxhkZCiSzRxOBfbkR/KIb6RzEc3dHb5GLZr1tNIjKyUrW6q+NRb3HMbyjz2EzoCSYQT8tQVI54WkZPMFHRhrJwIotwMoN9oSSiaRmSIMAmCZAEAdG0jH2hJDKKghaneUii2hdL4939A2hxmsf14SOSyuJ7T27FOT94Ac92+wvHzaIAm0mASWCwSiJsJhEmkSGZVfDzF3ZhY09w3N+zeoshkJuN3no4gtd29WPr4cioiX+9oqUFhBBCpiwjdzzS0kQ3lLlsEqIpGRlFhcN0tEyYxADOGZIqh8AA06DKAIwxuKwSeiMpKMPkXcOt0c3IKv7rtR78+LmdCMYzheMCAzq8NqSyCmIpBTaLiHx6zBiDRRKQzCpVWWJSLxUajLS5kRJZQgghU5aROx5pbUIbyoqT0EGzqjz/ZVb4nxIOswSAIZGW4bEN/YAx+MMH5xxPbjqM75VpKXvl0i7sDyWx+WAY8bQCsyQU3pFzjoyiwmWVMN1jnXBr3zf3hrDulb01Tx7reXPjeNDSAlJ1jDE0NTXRDk0doxjqH8WwMtW4Ta6leo9jfkPZqbObsKDNXfH3KZqS4bJKMAm5W/eyysEByGoueWQAREGAXGZdqXBkDWskLY+6RndjTxCX/nwDvvzbN0uS2I+d2I6/fPMsfPsjx+KaM2fllpAoauE1ZJUjKauQBIaOBjtsZmncS0wYY9iXEHDX493YdCA8ZM3v6vXdE1q2MBaDNzeOd31xPaEZWVJ1jDGIoli3v3jJ6CiG+kcxrFw9dzwyahw9dhM8NjMa7Gb0xdKIpxVkFBUCY/BYTUiKClJZBdKgxJhzjr5YGid2ehBLycM2fTjvWB++8ts38eTmwyXPP3VWLtbFLWWXdDXiy2fPwe1/3oyMrAIst9zAZZXQ0WBHg92EeFoe9xITzoHfvLYfAwm55pUxqlkDuF5QIkuqTlVV+P1++Hw+6vGuUxRD/aMYjk29djwyahyLl3QcO82NREZBVlFhEgXYzSK290YhCgx9sTQExoYkqtedNx8Ahnz4mOdzgjGG6x9+p6ShwVyfE7esWIBzF5RvKXvxSdPx/FY/3tqX20RmFkU4LLkPEBNdYrKtN4xMNIRWl63myWO1agDXE0pkCSGEEBiv41E9K26lu/fIrKrbakIqq2BvMIFWtxWXLunAa7uCI86S5z98+CMpPLfVjz9sPFDSUrbZmWsp+/9OGbmlrCAwfP70mTiwvhvhZBYtThEqB1IZecKtfcMJGVlFhdUyfGWMyUoejbi5kRJZQgghhEy6SpZ0fPoDM0acJecA3tsfxn3PbMehcKpw3GbKtZT90pmVt5TVaomJxy7BJAqIZxXYLUOT6dGSx2pWOjDi5kZKZAkhhBBSE6Mt6Rhplvyl7QGseWIrug9FSo432Ez44KxGnDm/ueIkttLzGY95LS5Ma7Bix740ZpilEZPHwUlrNCnjoVerVyareCZ8uPXFtdzcOB6M12OV3hqKRCLweDwIh8Nwu+kW03ipqmqo9VxTEcVQ/yiGxkBxLLXlYARrnujGyzv6So432EyY53NCFFghKauXUlJv7OnHXY9vPbJsYWjyeNtFCwGgpLarrHKEk1nYzSI6vfayzxnv2MrVkZ3nc9Z8c2PeWHIxmpElVcc5h6IoYIwZbqftVEEx1D+KoTHUcxwnu7j/oXASP3hqOx55az+Kp+DMkoDjprnQ6Di6gWmyqwGMhHOOE6e7cevKBYU6soOXLQAoqe1qkczYdDCCWFqGrKjIejgcR8pkVWNs9bq5cTwokSVVxzlHf38/fL7yu0NJ/aMY6h/F0BjqNY6T2Rkqmsri5y+8j//4626k5aN1ZX0uC0yigI4GK5zW0vWl9VRKKh/Dk2f4cPKMxiHJIwBc9/DbhdqujDHEUjLSsgKHWUJGUbE/lIDH5gGr4tiMsrmREllCCCGEVGyyOkNlFRX/9dpe/OgvO0payrqtEr567lwsbHPjjv/bDJu5fCpTj6WkyiWPWw9HhtR2zaoqVA6ILNeBLJ5WEE/LcB5Z81uPY6sVSmQJIYQQUpHBnaG0KO7POcdTmw/je09uw+6+eOF4vqXsV8+diwa7GVsPRwxRSqpcbVeTIEBggMIBUWDIKCqyytHZaL2MbTJQIks0UU+3wMj4UAz1j2JoDPUUR607Q23sCeGux7uxsSdUcvyjJ7bjpguPQWejvXBMT6WkRophudquDosIh1lCNC3DxBkExmA6Uge33sZWa5TIkqoTBAGtra21Pg0yARRD/aMYGkO9xVGrzlC7++K458mteGJTaUvZD85qxG0rF+LEzoYhz9FLKanRYlguIWeMocNrxw5/FImsArdVgtUkIp6eeIMGo6FEllQd5xyZTAZms7muZhJI5SiG+kcxNIZ6i2O52UMOIJ7Oda+SFT6mW97BeAY//ssO/ObVnpKWsnNaHLhlxUJ8eOHIm9y0amJQTaPFcLiE3CQyuKwSRIHBZTXhQChRd2OrB5TIkqrjnCMUCtXdLltSOYqh/lEMjaHe4jh49jCckrE/lEA8rUBRVSgq0OIyI5oaeUY2lVXwn3/bjZ8//z6ig1rKXn/+PFx+SueILWWL1XspqUpiOFxCfkpXIz63dAZcVlNdjq0eUCJLCCGEkIoUzx5u641iIJGFqvIjSSdDvoDAmse3lq1eoKgcj751APc+vW1IS9lrjrSUdY6xG1f+vPReSqreE/J6RYksIYQQQiq2pKsRt6xYiOsefgtZRYUkCuDgcNskdDTY4bFJZasXvLwjgLseL20pKzDg8g904rrz5qPVba3VkOqGERLyyUaJLNGEJNGPlt5RDPWPYmgM9RhHl02C22pCk8MMSRRgEgQ4LEcrBxRXL+AcWPPEVry0PVDyGucu8OHmFQswv9X4O+/rMYZGQd9ZUnWCIKC5ubnWp0EmgGKofxRDYyiO42S3hB1JOJFFVlHR6rZDLHMOVpOIw+Ek7n58K17cEShpKbtouhu3rlyIZXOmxs8nXYvaokSWVB3nHMlkEjabrS42J5CxoxjqH8XQGPJx3OJPYt0reyelJWwlylUvyJMVFTv8MRwKp7AnmCwcn95gwz9deAw+dmL7lFr3SdeitirbEqgTt99+e6H+Wv5PW1tbrU9ryuGcIxKJgBd/BCe6QjHUP4qhMXDO8ebOA1jzeDc2HQjDbZXQ4bXDbZUKLWE39gQn/bzy1QsCsXThZ0zlHPtCCWzY1Y+D4RTyP3luq4RbVy7AX755Fi5ePH1KJbEAXYtaM9yM7HHHHYdnn3228HdRFGt4NoQQQsj4qSrHc1v9R1rCOjRpCTsexdUL9vTHIQkC9oWSSGaVwmMkgWHVspn46jlz4XWYK3rdelo+QfTBcImsJEk0C0sIIcQQdgSiODSQgs819LZ0NVrCTsSSrkZ8ckkHfvDUdgQTmZKvnT63CWs+cQJmNNmHefZQG3uChTqq9bB8guiDoZYWAMCOHTvQ3t6OWbNm4VOf+hR27dpV61OachhjddOFhowPxVD/KIbGEE7IiGQ4LKbydxetJhEZWRlzS9iJ2tMXx1d+uxG3PrqpJIldNN2NR7+8DL+9+rQxJ7Gr19fX8olqoWtRW4aakT311FOxbt06zJ8/H729vfjud7+LZcuWYfPmzWhqair7nHQ6jXQ6Xfh7JJKrb6eqKlRVBYDCelvOeckal9GO558/3uOCIAx57bEeH++5T3RMXq/XcGMyYpxGGpPX6x3y+nofkxHjNNy5A0BDQ0PJ1/U+JiPGabTjHruEAcUMd1aB3SIA4ChOh9JZGWZJhNsmlbyvVmMKxjP46XM78du/70VWKW0p+63lx+D8Y3N3RCv5HuRfW1FUrNuwB+FEBrOa7ABjABgcFhEOsw09wQQe2rAHJ3U0QBSHf516/tnL/5uop5+9Ss9RizENfsxIDJXIrlixovDfxx9/PJYuXYo5c+bgwQcfxA033FD2OWvWrMEdd9wx5HggEEAqles6YrPZ4PF4EIlEkEwe3YHpcDjgcrkQCoWQyRz9ROp2u2G32xEMBiHLR1vveb1eWCwWBAKBkuA2NTVBFEX4/f6Sc/D5fFAUBf39/YVjjDG0trYik8kgFAoVjkuShObmZiSTyUIyDgBmsxmNjY2IxWKIx+OF41qOiXMOq9UKt9uNQKC0bqBexwQYL04jjamlpQWRSASpVAqMMUOMyYhxGmlM6XQahw4dgtVqBWPMEGMyYpxGG5OHqzhzGvCuPw5u9sApKnCKMjjnSGUVBOJZtDY0oNWilrxvtce09+Bh/M9bfjz4+iHEM0eTDI9VxMWLGrFyYRNmNOYSknQ6PaY4bd7rRyYawonNIqymDJKqiIhigluUYRMUeJoYktEQNu/144RZbXUZp8FjKv7Zyyd006ZN09XP3khjArS9nqLRKCrF+OB03GDOP/98zJ07Fz//+c/Lfr3cjGxnZydCoRDc7tx6Iz1+iq/0HLX6JBUIBNDa2orB9DqmkY4bcUwA0Nvbi5aWlsLsnt7HZMQ4jXTuiqLA7/eXxFDvYzJinEY7rqoqXtm8Cz/6Wy9CSQUtTjMysoq9wQRiqWwuKfHYcEKHB1cu7cLJM7xVHRPnwJ/ePogfDGopa5EEdDXZIQBQVLWwnvXKZTNx8gzvmOL06vt9+Oc/vYcOb64mbe4RDPnZZ0Xl2B9K4M6Lj8dpc5rrMk6DX7v4ePG/ifmvjfR4PYxpIscrOfdIJAKv14twOFzIxYZjqBnZwdLpNLq7u3HGGWcM+xiLxQKLxTLkuCAIJf+AA0e/2YMNd3zw88dzfKzvqfXxSs89/1wjjWmk40Ybk6qqYIxV5TqolzHV8txrOabBMTTCmCb7eK3HNK/VjZtXNmHdK3vx7v4BHAqnwDngspowo8kBiyhg88EI7np8K267aGHJxqiJjOmvO/pw1+Pd2DKopey5C3w4HE4hkVHgc1lgNeXqyW46GMHq9d1DzmG0c2lwmGGSJCSz6qCatLmkNplVYJIkNBypfFCvcRrpeP6/9fazp8XxSs59uMeUY6hE9sYbb8RHP/pRzJgxA36/H9/97ncRiUSwatWqWp8aIYQQMm4nz/DipA4vrl73BjKyig6vDU6rqbBetpqluLYejmDN41vx4qCWsos7G3DNmbPwxHuHkcgomNlkLyQqEykHlq9Ju/lgGHazWJL8cM4RiKWxqN2D+T7jt7IlY2eoRHb//v349Kc/jb6+PrS0tOC0007Dq6++iq6urlqf2pTCGKMOJjpHMdQ/iqExFMdxZ18U/mgaMxrtQ7ppMTbxUlyHwync98w2/GHjfqhFd5w9NhMabCZEU1n84Ont6Ium0emtXjmw4pq0PcEEWpxHZ3kDsTQ8NhOuXNal23qydC1qy1CJ7O9+97tanwJB7qL1eDy1Pg0yARRD/aMYGkNxHMOJLDKyAqtp6HI4IFeKqy+WHnMprmgqi1++uAu//usupLJH1yk2O81wWCQIAFrdVlhNIvzRFJJZBftCSVhNEhrspqqcw5KuRtx20cJCHdm+WBpmScSidg+u1HkdWboWtWWoRJbUB85z7fjcbjd9AtUpiqH+UQyNoTiOHrsJZik3Uzl4RhYAUtlcEwHPoORyOFlFxe/+vhf3P7sD/fGju8tdVgn/ePZcvHcgjO5DkZIlBC6rCWZRQEZRsX8gAY+t9OdrrOdQbElXI06c3oBntvbicDiFNo8V5y9ohSTpu+Q9XYvaokSWVB3nHMlkEi6Xiy5anaIY6h/F0BiK41ittaScczy9pRffe2IrdvUdLadkEhmuOG0mvnbuXPRGU/jzOwfhc1lK3sdhkeC0Sggns4inZcTTCpxWacznUE65zl5PvHdY95296FrUFiWyhBBCiA5UYy3pm3tDWPN4N17fEyo5/pETpuGfLjwGXU0OAMD23mjZZQwMQIfXjkQ6gpSsIprKwmae+HrWfGevgUT2SCUEC1JZpdDZa7hKCIRQIksIIYToxHjXkvb0x3HPk9uw/r1DJcc/OLMRt6xcgMVH6s/mjbSMocGWK/u1L5hASlaxP5SY0HpWVeV4cEMPBhLZqlVCIFMHJbKk6hhjcDgcdAtFxyiG+jfVYqiqHNv9UYQTWXjsJsz3uQyR9JSL45KuRizu9FY03mA8g588twO/ebWnpKXs7BYHbl6+AOcf21r2Z2S0ZQyprIKzj/Hh2rNnI5qUJ/Q93+6PYqc/NmQZQ378E63GUGtT7VqcbJTIkqpjjMHlonp/ekYx1L+pFMNyayvn+py6X1sJDB9HQWAjJnWprIIH/rYHP3thJ6Kpo+1Am51mfOO8+fjUBzphEoffRFXJMoZVy7pw7LSJ78bXqhpDvZhK12It6HsrIKlLnHMEg8Ehre+IflAM9W+qxDC/tnLTgTDcVgkdXjvcVqmwtnJjT7DWpzghY42jqnI88uZ+nPuDF/C9J7cWklirScDXz52LF/7pHFxxWteISWxefhnDce0eRFIy9ocSiKRkLGr3VHXNavEyhnImUgmhHkyVa7FWaEaWVB3nHJlMBpxzupWiUxRD/ZsKMZwKayvHEse/7cy1lN18sLSl7GVLOnHDBfPR6raO+f3HsoxhvIze2WsqXIu1RIksIYQQXTL62spKbTscxZonuvHCttKWsmcf04KbLjwGgsCwpy+OUCIzriR0tGUME2X0zl5EW5TIEkII0SWjr60czXAtZY9rd+PWlQthNQn4xYu7dLF22MidvYi2KJElVccYow4mOkcx1L+pEMNqd7qqR+XiGEvL+OWL7+NXL5e2lJ3eYMONF87Hx0+cjrf2hQp1WVtcFqiqiHhGxlt7Q9gXTODbH6m/uqyTsYyhFqbCtVhLlMiSqmOMwW631/o0yARQDPVvKsTQ6GsrgdI4ZhUVv3t9H3707Hb0xQa1lD1nLj6/bCasJrFk7XCD3YQ9/XHE0wpUzsEAhBJZ3P/sdjx41al1lyRqvYyhFqbCtVhLVLWAVJ2qqujr64OqqqM/mNQliqH+TYUY5tdWemwm9AQTiKdlKCpHPC2jJ5gwxNpKVVURCATw5KZDuPD+l/DPf9pUSGJNIsNVp8/Ei/90Dq49aw6sJhHA0bXDNrOInf4YokkZksBgM4kwiQJkVcUbe0L409v7azm0KWMqXIu1RDOyRBOyLI/+IFLXKIb6NxViaPS1lW/vG8B3/rwFbx+IlRy/6PhpuGn50ZayxcKJLNKygmgqC1nhsJlF5FN5SWCwm0RE0zL+uPEALj6pQ7NE36hNKsZjKlyLtUKJLCGEEF0z4trKnv447nlqG9a/W9pS9gMzvbh15cIhLWWLeewmcACxlAKzJGDwd0HlgEkQcCic0qyig5GbVJD6QoksIYQQ3TPK2spQPIMfl2kpO6vZgZtXLMAFw7SULTbf58I0txX7gglYWekKQs45MooKp1UCA9ekokO+ScVAIgufywKryYJUVik0qahmMwVCKJElVccYg9frpR2aOkYx1D+Kob6ksgrWbtiDf3u+tKVsk8OMfzx7Fj63dBbMkljRawkCw6VLOvDm3gEksgqskgiRAQoHMooKSWBocZrBwape0WEqNKkYK7oWtUWJLKk6xhgslvJ1HYk+UAz1j2KoD6rK8b/vHMAPntqOAwPJwnGrScDVH5qNfzhrNlzWsSebF580HY+8eQBv7QtBVlVkeK7Ll8sqoaPBhoFkVpOKDtSkYii6FrVFiSypuvwu25aWFggCFcbQI4qh/lEM69+GnX2464lubDpwtKUsY8BlSzpww/nHoM1jhaqq6O3tHXMcBYHh+vPn4buPbUEgloHbIsFukSAyoC+e0ayiw1RvUlEOXYvaokSWaIJzPvqDSF2jGOofxbAyk727friWsmfNb8EtKxcMmanMx3Gs57mkqxHf/sixhU1XA4mM5hUdpkKTivGga1E7lMgSQgiZsiZzd31vJIX7nt6O32/cV9JS9thpuZayH5rXPOxz39wbwrpX9o75PCe7osNUaFJB6gslsoQQQqakydpdH0vL+PcX38evXt6NZFYpHG/3WPHNC47BJxZPHzGx3OmP4od/7UUoIY/rPCezokO+ScXq9d3oCSbQ4rTAasrN0AZiaUM0qSD1hRJZUnWMMTQ1NdEOTR2jGOofxXBkk7G7Xj7SUvb+wS1lLRK+cs5cXHX6zEI3ruFwDvxxcwShRBYzmxyTVgVgIsstjN6kYqzoWtQWJbKk6hhjEEWRLlodoxjqH8VwZFruruec45ktvbj7ya3YFYgXjksCw+dO68LXPzwPjQ5zRa+1IxDDdn8cPpd10qoAVGO5hRGbVIwXXYvaokSWVJ2qqvD7/fD5fLRDU6cohvpHMRyZVrvr3943gLse78bfdwdLjq88vg03XbgAM5uHtpQdyUA8g2nmNJRJqgJQzeUWRmlSMVF0LWqLEllCCCF1r9qVBaq9u35vfwL3PLUVjw1qKXtKlxe3XrQQJ4/QUnbk85RgEgXEswrslqFJUDWrAFAzA6JHlMgSQgipa9WqLFCcDLtsEua0OLDlUGRCu+tD8Qx++vxOrHtlz5CWst9avgAXHjd6S9mRzGtxYVqDFTv2pTHDLGlaBYCaGRA9okSWEEJI3arWre5yyXCjwwxRYOPaXZ/KKnjwSEvZyKCWst84bx4+/cEZMIkTv40sCAznLvDhnb5ezasAUDMDokeUyJKqEwSB1gLpHMVQ/4wQw2rd6h4uGT4UTkIUGKZ5rAjGsxXtrldVjj+/cxDff2pbSUtZiyTg6jNm4dqz5oyrpexwBEHAskVzYPM0aV4FgJoZaMMI12I9o0SWVB3nHIqigDFGuzR1imKof0aIYTVudVeSDDfazbh15UJEU/KI6283vN+Hux4f2lL2kyd34IYL5mOax1bF0efk43jyDK/mVQComYE2jHAt1jNKZEnVcc7R398Pn89HF61OUQz1zwgxrMat7kqS4Z2BOASB4dTZTeVfozeKu5/Yiue2+kuOnzm/BbesWICF07RbL1ocR0EQNF2bSs0MtGGEa7GeUSJLCCGkLlXjVvdEkmF/JIX7ntmO/3mjtKXswmlu3LpyAc6Y11I4Vu2qCrVCzQyI3lAiSwghpC5V41b3eJLheFrGL1/ahV+9tKukpew0jxU3XnAMLl48HWJRklqtqgr1gpoZED2hRJZogm6f6B/FUP+0iOFkzjxW41b3WJJhWVHx8Bv78MNndqAvli48zmWR8OVz5uALp88a0lK2mg0EhlOLa5GaGVQX/T7VDuOc89EfNnVEIhF4PB6Ew2G43XQRE0JIXq1mHsu97zyfs+Jb3flkM5zMlk2Gb125AKGEjLuf6Mb7ZVrKfu3cuWhyDl2aoKoc1z38NjYdCJdsJANySXJPMIFF7R788PKTaDaTkDEYSy5GiewglMhOHOccmUwGZrOZPoXqFMVQ/6odw6Ezj6XJYDVmHkcy0Zng4ZLhZXOb8Mc3D5RtKftPFy7ArBFaym49HMEND78Dt1Uqu2whnpYRScm47/ITxz27Sdei/lEMx24suRgtLSBVxzlHKBSiHZo6RjHUv2rGcCL1XKu1FGGit7oHr/tMZhX8YeN+fOuP7w16nBe3rlyIJV2jt5SdjAYCdC3qH8VQW5TIEkIIGdF467nWainCcMmzIDC0ua34wxv7se6VHmQUtfCcXEvZY3DhcW0VJxvUQICQ2qNElhBCyIjGM/M4GZugyhkuef70Bzvx3oEwfvpcaUvZRocZ3/jwPHzm1LG3lKUGAoTUHiWyRBOSRD9aekcx1L9qxXCsM4/Vai07VuWS52RGxqu7+vHkpkPIKEe3hORbyv7DWXPgHmdL2clqIEDXov5RDLVD31lSdYIgoLm5udanQSaAYqh/1YzhWGceq9FadqzKJc+heAY7AjFEi2ZgGQMuPbkD36xSS1mtGwjQtah/FENtUSJLqo5zjmQyCZvNRgvbdYpiqH/VjOFYZx4nYxPUYMXJczyj4H1/DH3xTMljHGYR37/sBKw8vr1q7wto20CArkX9oxhqixJZUnWcc0QiEVitVrpodYpiqH/VjuFYZh5rsQkqnMgikc4ilMjgUDhV8jWnRcLsZgcSGRlNjvLJ9URp1UCArkX9oxhqixJZQgghFal05nGyN0HF0zL+/M5B9ISSKK6MbpEEzGlxoM1tRSKjQFY5VRAgxGAokSWEEFKxSmYeJ2sTlKyo+J839uOHz25HIHq0pawoMMxssqPTa4coMKogQIiBUSJLqo4xRh1MdI5iqH+1jqGWm6A45/hLtx93P7kVO/2xwnFRYGi0m+CwSGg50lI2nparmjxPtlrHkUwcxVBb1KJ2EGpRSwgh1VOtzl557+4fwOr13XhtUEvZFYvacNPyBQjG02Vb0VajggAhZHJQi1pSU5xzxGIxOJ1O+gSqUxRD/auXGFZrE9S+YALff2ob/vzOwZLjJ89oKGmuMKvZoVkFgVqolziS8aMYaosSWVJ1nHPE43E4HA66aHWKYqh/Wsew2jOtwxlIZPBvz+/EgxtKW8rObLLjW8sXYPmioS1ltaogUAt0LeofxVBblMgSQggZk+HawK6q4u37tKxg3YYe/PT5nQgnj9abbXSY8fVz5+Izp3bBLI2tpSwhxHgokSWEkClovDOq5drAprIKNh8MY/X67pLb/OM9r/979yC+/9Q27A8lC8ctkoAvfmgWrj17/C1lCSHGQ4ksqTrGGHUw0TmKof6NFMPxzqiWawMLAA6LBLtZRE8wgXUberC40zuuZQav7urHXY9349394aJxAJcszrWUbW+YeEtZvaFrUf8ohtqiRJZUHWMMHo+n1qdBJoBiqH/DxXAiM6rFbWAH/6PMGEOL04Id/hi2+6NjWqO6ozeKu5/Yir9s9ZccP2NeM25esQDHtU/dn0W6FvWPYqgtQy4w+tnPfoZZs2bBarViyZIlePnll2t9SlMK5xzhcBhU2U2/KIb6Vy6Gg2dUHRYJosDgsEjoarQjnMxi3YYeqGr5uIcTWWRkBVaTePR9AMTSMkKJDBSVIy0rCCeyZZ8/mD+awi2PvIcL73+pJIld0ObCui98EA998dQpncQCdC0aAcVQW4abkX344Ydx3XXX4Wc/+xlOP/10/PKXv8SKFSuwZcsWzJgxo9anNyVwzpFMJuFyuehWik5RDPWvXAwnOqPqsZtglnIduhwWCQPJLPaHEoinFaicAxyQRIYDAwkATcOeWzwt41cv78K/v7QLiYxSON7mtuKbF8zHJSd3QNRpuaxqo2tR/yiG2jJcInvffffhi1/8Iq6++moAwP3334+nnnoKP//5z7FmzZoanx0hhNTO0RlVS9mvW00i+mLpYWdU5/tcmOtzYvPBMDKKip3+GGSFwywJEBhDIqtA5cBDr/Sgq8kxZInCcC1lnRYJXz57Dr5w+izYzOLgtzWkySpfRojRGSqRzWQy2LhxI26++eaS4xdccAE2bNhQ9jnpdBrp9NFfqJFIBACgqipUNVezkDEGxnL9uotvDYx2PP/88R4XBGHIa4/1+HjPfSJjUlW18FyjjGmk40YcE5CbRZjIWOttTEaMUyXnXvyc3IyqgHRWhsOS+/WfeyYDwJHOyrBIAtw2EZzzsud+5dIZWL1+K3b0RqEoKmzm3GPTsgqzKGC+z4GBZBYPbdiDE6d7IIq5FWzPdvfinie3YUdRS1lJYPj0BzvxtXPnotl5NLk2epze3BvCQ6/0YIc/jowsw3Jks90VS7tw8gzvkPgVP7dexzSe4/Uep2qNqfjfRKOMaSLHK80jKmWoRLavrw+KoqC1tbXkeGtrKw4fPlz2OWvWrMEdd9wx5HggEEAqlQIA2Gw2eDweRCIRJJNHy8E4HA64XC6EQiFkMpnCcbfbDbvdjmAwCFmWC8e9Xi8sFgsCgUBJcJuamiCKIvz+0o0OPp8PiqKgv7+/cIwxhtbWVmQyGYRCocJxSZLQ3NyMZDJZSMYBwGw2o7GxEbFYDPF4vHBcyzFxzmG1WsE5RyAQMMSYAOPFaaQxtbS0wGq1IhAIFG6F6X1MRozTSGPKZrNIpVKFGEqShPm+JhzXakMoNIAWKbe8IKMKCClmOJgMpsaxcJodHp5EJMLKjumYJgeuWNqFXz/7HqwCB5gMgQFhxQS3w4nZbhWynSEZDeHtHT2AxYUfPLsTr+4qbSl7wbE+3LR8AZxqHGoiDH9iasRppz+K/3ljH6IpBW6rE26zBCdLIzLQj3XPDSD9wZk4fdHswpg450ilUhgYGEBTU1NdjsmIcarmmPIJHWPMMGMCtI1TNBpFpRgfnI7r2MGDBzF9+nRs2LABS5cuLRxfvXo1HnroIWzdunXIc8rNyHZ2diIUChX6+xrt0yGNicZEY5q6Y3pjTz/WPN6NcDKLFqcFFpOIVFZFIJZCg82EW1YuxMkzvCOe+993B3HbI+/A67BA5RwmQYDdIoIxAQwcisqxuy+Gdq8DG97vLzmHxZ0NuGXlAnxgZuOUi5OiqPjm79/BpgNhzGyyA0wAwHPz4ZyjJ5jAonYP7rt8MRiDLsZkxDjRmGo/pkgkAq/Xi3A4XMjFhmOoGdnm5maIojhk9tXv9w+Zpc2zWCywWIauFxMEAYJQWtQh/80ebLjjg58/nuNjfU+tj1dy7pxzhEIheL1ew4xptONGG1NxDAe/vl7HVMtzr8WYAGBgYGBIDE+Z2YRbLzr2aB3ZWAZmScSi9gZcWaaObLnX99hNMJtMEAUBbkvpPyMZhWNHbwyHIynsCaYKx7uOtJRdMail7FSK086+OHb442hxWY8ksQDAcss7GEOz04rt/nhhs10+Gchfi/U4JiPGqdrnOPj3qRHGNJHjlZz7cI8px1CJrNlsxpIlS/DMM8/gE5/4ROH4M888g49//OM1PLOphXOOTCYDzvmw/8CS+kYx1L+RYrikqxGLO73j3mxUvOnLbhbBGIOqcuwfSGJ3XxxyUfkur92Er394Hj5LLWXHtdmOrkX9oxhqy1CJLADccMMNuOKKK3DKKadg6dKl+Pd//3fs3bsX1157ba1PjRBC6oYgsDE1LRj83FXLurB6fTf29MchMIb9A0mkskdvDZpFhi+eMRtfppayBYPLlw2Wyua6rHns9P0ipFKGS2Qvv/xy9Pf34zvf+Q4OHTqERYsW4fHHH0dXV1etT40QQmqm2uWelnQ14uLF7bjv6R0YSJaW6zp7fgtWX3I8puuspazWJbHKzWTncc4RiKWxqN2D+T5X1d6TEKMb82avz3/+8/jCF76AM888U6tzqqlIJAKPx1PRAmNSHue54s/UW1q/KIb6VxzDN/eGjq6JlXOzfnN9Tqwqsya2Ejv9uZayz3aX7pBePKMBd35sERZ1eKo1jEmzsSdY1e/RSO+zev3RzXZWU26GNhBLw2MzDWkRTNei/lEMx24sudiYE9lLL70U69evR2dnJ6666iqsWrUK06dPn9AJ1xNKZAkhelVuRvGtfSGsXt+NgUQWPtfoidNI/NEU7n92Bx5+fR+UonWwC9pcuHnFApw1v0WX/1Dnk8tqfI8qfb/BSfM8n7PsZjtCpiJNE1kA6O/vx29+8xusXbsWmzZtwnnnnYcvfvGL+PjHPw6TSd9reyiRnThVVREMBtHY2DimnYekflAM9WdwcmSRBCxplbA7xnBgII2ZTfYht7Lz5Z5+ePlJI95CT2Rk/Oql3fjlS++XtJRtdVvwzQuOwaU6bimrqhzXPfx2oSTWeL9H43nfSpYx0LWofxTDsRtLLjau72hTUxO+8Y1v4K233sLf//53zJ07F1dccQXa29tx/fXXY8eOHeM6cWIcxcWOiT5RDPUjP6O46UAYbquEDq8dbquEnv4Y3uwJwTZoPSaQK43T4rRghz+G7f7yxcdlRcV//30vzvr+C/jhs9sLSazTIuHGC+bjhRvPwf87pVO3SSwAbPdHsdMfg89lGdf3aLzym+1Ond2EBW3uEZNkuhb1j2KonQlt9jp06BCefvppPP300xBFEStXrsTmzZtx7LHH4p577sH1119frfMkhBBShqpyPLihBwOJbMmMosMiwSZJkNUsAtEUWt1WDE6VypV7AnIzkc9v8+PuJ7Zie+/RlrKiwPCZD87AN86bV9JSVs/GUxKLEFI/xpzIZrNZ/PnPf8YDDzyAp59+GieccAKuv/56fPazn4XLldtp+bvf/Q5f/vKXKZElhBCNjTSjaBIEmAQBsZSCeFqGc1DJp8HlnlSVY/17B/GLF3dh88FIyWMvPK4VNy1fgDktTm0HNMmoJBYh+jbmRHbatGlQVRWf/vSn8fe//x0nnXTSkMdceOGFaGhoqMLpET1ijJXtCEX0g2KoH8PNKHIACWaB3ZpF6MhjUJSoDS739MR7B/Hd9VtxYCBZ8jrzW51Y/Ynj8YGZxtyEVO8lseha1D+KobbGnMj+8Ic/xGWXXQar1TrsY7xeL3bv3j2hEyP6xRgr2/aX6AfFUD+Gn1FkyEJCi9OCaEpBXywDiyQO2ZF/yZLpuO7ht/B/7xxC8c5fiySgwW6CwyxCx0tgR1Xc3KEnmChbEuvKZV1V3eg1FnQt6h/FUFvjqlpgZFS1YOJUVUUgEEBLSwvt0NQpiqF+5Hfdbz4YRlfj0TWyDBzNUgpv9CqY5rGjwW7C+4F4odzT7GYHml1m/OmtgyUNDSSBYVazAx1eGxig2a79elOvJbHoWtQ/iuHYjSUXM1xnL1If6POR/lEM9WG4GcV0VgaSaXhsNlx3/jws7vRiuz+KgXgG7+wP4zev9mBf6OgyAsaAGV47uprsMIlH/7Et3rU/3pa2erCkq7HwPdKqs9d40bWofxRD7VAiSwghOrekqxG3XbSwMKPYF0vDIglYOM2Oaz+4oDCjGE5kseaJrXhnf7jwXIZcOa3j2t1lNztNpV37+ZJYhBD9oESWEEIMYPCMotsmwsOTaGvzYqc/dqSlbG/Jc06f24RPf3AGfvb8+8O+bj3u2q+0mQAhxPgokSVVxxhDU1MT7dDUMYqhPhXPKHLOcXhAwj//72b8blBL2WNaXbhlZa6lLOfA05t763bX/mDl1rLO9TmxyqDtXela1D+KobYokSVVxxiDKA7tJKQXNNuj/xhOdYmMjF+/vBu/fPF9xAe3lD3/GFy65GhLWcZQ17v2i+U7mA0ksvC5LLCaLEhlFWw+GMbq9d247aKFhktm6VrUP4qhtiiRJVWnqir8fj98Pp/udmhOtdme4eg5hlOZonL8/o19uO+Z7fBH04XjDrOIa8+agy+eMQt289Bf++XW2JolEYvaPTXftZ83Ugczu1lETzCBdRt6sLjTWxdJd7XQtah/FENtUSJLyBFTcbaHGAPnHM9t9eM7j21BT3+icFxkwKc+OAPXnTcfLa6R61jW8659oHwHMw4gnpaRVVQ4zNKUqK5ACClFiSwhmLqzPUT/Nh0I45ZH3sV7B0pbyra5LbjhzGn45LKFFc8C1fOu/cEdzAaSWewPJRBPK1A5B0PuFu7fdwfrdgyEkOqjRJYQjNyvnjE2ZWppEv3YH0rg3qe349G3DpQcd1kldHptyMgK/rq9F7M72nDKzKYanWX1FHcwyyoc23ojyCocZkmAVRKRlVWkZQX//dpeHNfuprsnhEwRlMiSqhMEQXdrgYbrV583lWppAvqM4VQRTmbxs+d34oENe5CR1cJxq0nA3BZn4cMY5xxbgnE89MpenDyjUfd3Eub7XJjrc2JjTxB90TQyCgdjgKxyCEyBwBi8djPSsmKouyd0LeofxVBblMiSquOcQ1EUMMZ0s0tz+H71OfVYS1NLeoyh0WVkFQ+92oOfPLcDA0UfqETG0OG1YXazoyRxYwxoc5mxwx81xJ0EQWA4dXYjntlyGGmFQ2CAwHI/q7IKCIyjwW6G124y1N0Tuhb1j2KoLfp4QKqOc47+/n5dteTLz/YEYukh552vpTnP56ybWppa02MMjYpzjsfePYjz7nsRdz62pZDEmiUBHztxGmY02jBrUBIL5Dp2ddgUZGXFEHcSVJXjtV1B2M0SRJYbX740rklkkEQBA8kMLCYRGYOMGaBr0QgohtqiGVlCMHy/+nqspUmmjr/vDmL14914Z99AyfFPLJ6Ob14wH7G0jBsefmfYOwkZRTXMnYT8OvbpDVaksjIEJkBguZlnkTEoHIinFYTiGcOMmRAyOkpkCTlCD7U0ydTwfiDXUvaZLaUtZZfNacKtKxdi0XQPgNws5Vyfc9iuXJFUFvN8TYa4k5Bfx97SYIPTYkI0LcMsCoUxiwxIywr6Yml8YGajIcZMCBkdJbJEE3pdB1TvtTQnk15jqGeBaBo/+st2/Pffh7aUvXnlApw9v6UkLiPdSeiLpbCwQcLnlhrjTkJ+HXtaVtHhtWOHP4qkrMIsChAZkFE4FDX3OKPdPaFrUf8ohtphnBZtlIhEIvB4PAiHw3C79b9RgBBS/xIZGf/x8m78YlBLWZ/Lgm9eMB+fXNJZaClbTrmOdPN8TkPdSVBVjusefhubD4bR1WhHOCnn6shmZKgckBUVLS4L7r98MT4wyxhjJmSqGksuRonsIJTIThznHJlMBmazmT6F6hTFcHIoKscfNuZayvZGSlvK/sNZc3D1MC1ly1FVXnInYV6LE7KcrTiGg59fj3ci8t33wsksWpwWWCQBoUQGfbEMPDYTvnPxcfiAAWrmFqNrUf8ohmM3llyMlhaQquOcIxQKwefz0UWrUxRDbSmKiv/6+178+0u7sC+ULBwXBYZPf7AT3/jw6C1lBxvclUtV1YpjWG5Gd67PiVV1NqM7eB17/lw/MLPRULPPxeha1D+KobYokSWEkEn0+zf24XtPbkVfLFNy/AMzvVhzyQmY63NO6vnkZzkHEln4XBZYTRaksgo2Hwxj9fpu3HbRwrpKEGkdOyGkGCWyhBBSRcPdoj8wkMStj7yLF7f3lTzeYRHhsZqgqBzhZGaYV9XuXB/c0IOBRBYzm+yF2SKHRYLdLKInmKjLLlmDZ58JIVMXJbJEE5JEP1p6RzEcu3K36Lua7LBIAh7fdHjYlrIANEkaR4thvjZrvq1tMcYYWpwWQ3XJ0iu6FvWPYqgd+s6SqhMEAc3NzbU+DTIB44mhHjYLaWnwLXqzZEZPfwJPbT6MokpakASGWc0OdDTYSr4/1U4aK4lhvjar1VR+Pa7VJKIvljZMlyw9ot+n+kcx1BYlsqTqOOdIJpOw2Wy0sF2nxhpDvWwW0krxLfquRhsCsQze3x9HMnu0lBZjgMcq4bh2D6wmcchrVDtprCSG+dqsw3UGS2UV6pJVY/T7VP8ohtoSan0CxHg454hEItRXWsfGEsP8TOSmA2G4rRI6vHa4rVJhs9DGnuAknHFt5W/RW00CNu4dwKaDkZIkttlhRofXhkaHpaTRQbFqJ42VxHC+z4W5PicCsfSQx3HOEYilMc/npC5ZNUS/T/WPYqgtSmQJmQJUlWPr4Qhe29WPrYcjUIdJpsbzusWbhRwWCaLA4LBIR4rWZ7FuQ0/V3q9edR+MoKc/ji2Hooik5MJxr92ED8z0YtF0D8yigGkea10ljfnOYB6bCT3BBOJpGYrKEU/L6Akm4LEZr0sWIcRYaGkBIQan5W3/qb5ZqC+Wxo+e3YHfvtZTsg7WYc59j5scuQLo8bQMiyTi0iXT8ZtX9w5pJxuIpWuWNA6uzdoXS8MsiVjU7jFsbVZCiHFQIkuqjjFGHUzqxHhrhFYaw6m6WSiZUfDrl3cNaSkrCgzzWhyY1mCDcOR7l59tXdTuwcUndaCryTEpSeNYrkOqzVq/6Pep/lEMtUWJLKk6xhgaG2kWp9YmUiO00hhOtc1Cisrxx437ce8z20paytrNIj564jRsPRRFLC0jmVGGnW2drKRxLNfhVK84Uc/o96n+UQy1RYksqTrOOWKxGJxOJ30CraGJ3PavNIb5zUKbD4ZhN4sljy2eidT7ZiHOOV7cHsDdT2zF1sPRwnFRYPjUBzpx3Xm5lrLFyzhGmm2djIL+lcZwqlecqHf0+1T/KIbaokSWVB3nHPF4HA6Hgy7aGprIbf9KY5jfLLR6fXddrfscr3Izk92HI1jz+Fb8dWdpR67zFrbi5hXHYG5Rkl5Pt+griaHe2tNORfT7VP8ohtqiRJYQg5qs2/5G2Sw0eGaSMYZkVsGBUBLFNQZO7PDglpULcdrsprKvo5f2qXptT0sIIcUokSXEoCbztn89zUSOR/HMZKPDhGgqi/0DSRRXyepstOGfLlyAjxw/TTfjGslUrzhBCDEGSmRJ1THGqINJHZjIbf/xxFAvM5GD5WcmQ/EMJJHhnf1hZJWjGazAgGOnufH7a5fCZtbPr8zRYjhVK07oDf0+1T+Kobb081uZ6AZjDB6Pp9anQTD+2/5TKYbbeiN4syeEQCyNtKwWjjMGdHrt8DnNSGRV9AQTk5qoT7SSwGgxnGoVJ/RqKl2LRkUx1BYlsqTq8u343G43fQKtA+O57T9VYvjGniBueeQ97B9IlhxvdVswp9kJm1mEonIMJBOTOjNZjUoCo8VwqlSc0Lupci0aGcVQW9SillQd5xzJZJL6SteR/G3/U2c3YUGbe9SZPaPHcFcghn946A188hevYIc/VjjeYDfhA11eLGr3wGYWAUz+zGR+ve6mA2G4rRI6vHa4rVKhksDGnmBFrzNaDKk9rT4Y/VqcCiiG2qIZWULIlJFvKftff98LpainrMsiwWERsbDNBUE4+vl+smcmJ7uSgFEqThBCpi5KZAkhujCRNaPJjIL/+Osu/OLFXYil5cLxFpcFN5w/H3NaHLj7ia3YG0rWtBZuLSoJ6L3iBCFkaqNEllQdY4wKP+tcvcVwvGtGFZXjj2/ux31Pb8fhSKpw3G4W8aUzZ+OaM2YXNjrVw8xkNSsJjCWGeq04MRXU27VIxo5iqC1KZEnVMcbgctEGET2rpxiOt/vUi9sDWPN4d0lLWYEBn/rgDFx33jz4XNaSx9fDzGQ1KwnUUwzJ+FEc9Y9iqC1KZEnVcc4RCoXg9XrpE6hO1UsMx7NmdPPBMO5+Yite3jG4pawPN69YUNJSdrBaz0xWs5JAvcSQTAzFUf8ohtqiRJZUHeccmUwGnHO6aOvYSGtOh4vhRGubjtVY1oy6rSb84OltePStAyUduU7o8ODWEVrK1pOJNLEYjK5DY6A46h/FUFuUyBIyBY1nzWk1apuOVSVrRnsjKfz8hffx5KbDJQ0NOrw2/NOFx+CjJ7TrauMSVRIghJDKUSJLyBRTyZrTxZ0NY36OFgnWSGtGVc6xpy+OfQNJ7O5PHH2OzYSvnTsXVyztgkUSq35Ok6Ee1usSQogeGKohwsyZM8EYK/lz88031/q0phzGGHUwqVOD15w6LBJEgcFhkdDVaEc4mcW6DT3gHIUYVvocVa1+se/8mtFALF0oJs45R28khVd3BbEnmCjUgzWLAq45YxZe+qdzcPUZs3WbxOaNtYnFYHQdGgPFUf8ohtoy3Izsd77zHVxzzTWFvzudzhqezdTEGIPdbq/1aZAyKl1zuiMQK2x62tYbmfTapnmD14xaJQH7QklEUnLJ4z52Yjv+6cJj0NlIP3d5dB0aA8VR/yiG2jLUjCwAuFwutLW1Ff5QIjv5VFVFX18fVFUd/cFkUh1dc1p+ttJqEpGRFQzEM4UYVvqcSmqbjseSrkZcdfpMJDIKNh+KliSxx7W78eevno4ff3oxJbGD0HVoDBRH/aMYastwiez3vvc9NDU14aSTTsLq1auRyWRqfUpTkizLoz+ITLriNaflHK1TKhViWPlzRq9tOlb9sTT+9X834fqH38Gh8NGGBjMabfjVlUvw2Nc+hBM6Gqr+vkZB16ExUBz1j2KoHUMtLfjGN76Bk08+GV6vF3//+99xyy23YPfu3fj1r3897HPS6TTS6XTh75FIBEDuE1T+01N+vS3nvLBOr5Ljgz99jfW4IAhDXnusx8d77hMZk6qqhecaZUwjHdfTmOY2OzDP58Dmg2E4zHaAMQAMDLnX6YulsKjdg3ktLgQCSaiqWvIcu9kBxoD8AoP8c45rb8C8FmfJ+05kTIm0jP/csAe/fPF9xNJHE+hmpxnXnzcPly3pgEkSDRunao6p+DlGGdNox400pvzv0+I14nof00TPXW9jKv430ShjmsjxSvOIStV9Inv77bfjjjvuGPExr7/+Ok455RRcf/31hWMnnHACvF4vPvnJTxZmactZs2ZN2dcPBAJIpXIzQDabDR6PB5FIBMlksvAYh8MBl8uFUChUMvPrdrtht9sRDAZLPoV5vV5YLBYEAoGS4DY1NUEURfj9/pJz8Pl8UBQF/f39hWOMMbS2tiKTySAUChWOS5KE5uZmJJPJQjIOAGazGY2NjYjFYojH44XjWo4pf9Hmb6cYYUyAMeLU39+Hy45zgScHkEhFkBLtMEkSvEISkVQWx3pFfPI4F4Bc/Px+PwRBwGXHuaAmwtgSTKDDZcI0m4KMoiKSymKeR8KVy7qQTqcwMBDGwXAS8bQMp8MKm8ODUDgCC7Jo99ggCGzEMdkdTjz08jb87OW98MeOLlWwmUR87pQ2fHpxC+xmEcH+PkPHqVpjGhgYAOccgiAYZkxGjNNIY1JVFeFwGGazGU1NTYYYkxHjNNKYVFUtjMMoYwK0jVM0erQj42gYH5yO15m+vr4hydBgM2fOhNVqHXL8wIED6OjowKuvvopTTz217HPLzch2dnYiFArB7c5tXDHap0Otx8Q5RzabhcVimdC519OYRjquxzG9uTeEh17pwQ5/DBlZhUUSMM/nxOeWduHkGbnuM+l0GiaTCYyxwnPWvbIXO/1RZI/Ukc0/55SZTXhjTz8eeiVX+zSczCCaksHB4LKKaLCZMdfnxBVLc3VQy537yzv6sOaJrUNayl7+gU5cf958NDvNUy5OExmTqqpIp9Mwm82FGOp9TEaM02jHOc8V07dYLFUdK8Vp8sZU/G9i/u96H9NEjldy7pFIBF6vF+FwuJCLDafuE9mJeOyxx/DRj34UPT09mDFjRkXPiUQi8Hg8FX3zCNGz8XTpGu45xXVmbaZcZYGMkvulZBIYZjQ5kMoq8NhMQ2rObjkYwZonuoe0lP3wglxL2Xmt1KOcEEKmkrHkYnW/tKBSr7zyCl599VWcc8458Hg8eP3113H99dfjYx/7WMVJLKkOVVURCATQ0tICQTDcfkLDyNcpLWe4GJZ7TnGd2a5GG7YcikJWORwmEWAMyayCvlgax05zY28wgXUberC404veaAo/eGo7HnlrP4o/Th8/PddSdumc+m8pW8/oOjQGiqP+UQy1ZZhE1mKx4OGHH8Ydd9yBdDqNrq4uXHPNNbjppptqfWpTkoEn+qeMSmNYXJs2kVERz8gwi0LhdrZZFBBPK0hkFLQ4Ldh6OIpbHn0Pf3rrgCFaytYzug6NgeKofxRD7RgmkT355JPx6quv1vo0iEbGcxucTI6jdWYtiKSyUDkgFoVGFBgyioqMrCCaUrCrL4ZtvUfXwbqtEr527jxcuUy/LWUJIYTUhmESWWJcG3uCeHBDbhNR5sgmo7k+J1Yt6ypZazkRlCiPX3GdWZMgQGCAwgHpyLdPVlSoKkf3oShSRTOwZlHAlUu78NVz56LBbh7m1cePYkoIIcZHiSypOsYYmpqaCreWJ6J4E5HPZYHVZEEqq2DzwTBWr+8esnFovO+hdaKsN2OJ4XyfC3N9Tmw+GMYMrw0Os4RoWobIBGRVjlhahjrortpHTpiGby1foFk3Loppda9DUjsUR/2jGGqLVh2TqmOMQRTFCV+0xZuIZjbZ4bBIEAUGh0VCV6Md4WQW6zb0QB2cJY1BPlHedCAMt1VCh9cOt1UqJMobe4ITGoNejRRDVeXYejiC13b1Y+vhXK3BVcu64LGZsDeURLPTDAYglMwikipNYp0WEd+79Hj89DMna5rEUkyrdx2S2qI46h/FUFs0I0uqLl9I3+fzTWiHZvEmosG/ABhjaHFasMMfw3Z/dNjd9yOfZ2minH8Ph0WC3Syip2iH/VS7JZ2PYXNzC3b2xQu356NJGQ+9Wn6m87aLFuLfX9qF13eHEM+UtrM1iwIWdzbgn5bPxykztatGQDE9qlrXIaktiqP+UQy1RYksqVvFm4jKsZpE9MXSCCeyZb8+Gq0TZb3b6Y9izfMHscMfR0ZWIKsc4WQWdrOITq+9ZJnHnf+3BcdN9+BvO/sRSxd1bLGbcOnJHfjEydOxsM2tefJIMSWEkKmFEllSt4o3ETksQ39UU9ncjKDHbhrX62udKOvZm3tD+J839mFzkKHFZYVFMmPTwQhiaRmyoiLr4XAIDHazCLMo4L2DEby9P1x4vs0k4ktnzsY1Z86Gs0zsqqHcZi6KKSGETC2UyJK6VbyJyG4uXV/EOUcglsaidg/m+8bX+UnrRFmvVJXjoVd6EE8rmNnkBpiAWEpGWlbgMEvIKCr2hxJQVBt2+mMlM7DFLWV97qFto6tluM1cZx/TTDElhJAphBJZUnWCIFRlLZAgMKxa1oXV67vRE0ygxWmB1ZRLUgKxNDw2E65c1jXu29VaJ8p6td0fxQ5/HB6rAzYwxFMygokMZIVDZLne2YFoGr2RdMnz7GYR3/nYcfjkKZ2ant9IlSz2BeNodJhwKJya8jGt1nVIaoviqH8UQ23Rd5VUHecciqJUpZPJkq5G3HbRQhzX7kEkJWN/KIFISsaids+ES2/lE2WPzYSeYALxtAxF5YinZfQEExNOlPUqd3tehqzkksPNh8LY0x9HSlYRTslIZtWSSgQui4SFbS7MbHJgUYdH03MbrZJFJCWDgcFtpZhW8zoktUNx1D+KobZoRpZUHecc/f398Pl8VSk3sqSrEYs7vZoUt88nyvnb1H2xNMySiEXtHlw5hWqOFvPYTVBUDp6KIJ4WwDkgK+V/AdtMAub6HIUPF1rPdFaymas/nsHVZ8zCC9sCmsRUL40Wqn0dktqgOOofxVBblMgSXRAEptkucy0TZT2a2+xEVlGR4bllBPFs+STWaxORlDl2+OOY1+qclJnOSjdzTW+w4f7LT6p6TKnRAiGE1BdKZAmBtomy3uwIRJGRObYlGdLDzMQyAEmZQwCDwIArTpucdsFj2aBX7ZhORpc5QgghY0OJLNEE3T7Rp409Idz6yHvwxzJDviYwQBIFWESGrMLR6bXDYzMhFM/NgFbn/Uee8azVBj29Nlqg69AYKI76RzHUDm32IlUnCAJaW1sNuUNzcHvWibTHrSd7+uL4ym834tKfb8C23mjhuMsiwSIKcJhFuK0muCwSREGAJApodJghCQwWk1SVclaVtJat1Qa9sTRaqBdGvg6nEoqj/lEMtUUzsqTqOOfIZDIwm826+xQ60m1tvayPHMtmpL5oGneu34LH3j0EpSgpd1pENFpFzPY50X04jmhahnjkJTKKCpc1NxO5N5ioygzoWGY8a7FBT4+NFvR8HZKjKI76RzHUFiWypOo45wiFQrrboTlSogpAF+sjK022U1kFdz62BQ+/vg9yUQJrlgR8flkXPrzAh9++8C62hFJodpqRzCqIZxUAgElgaHZasLeKM6CDZzw554inFWRVFSZBQLPDXNJadrI36OmxeYZer0NSiuKofxRDbVEiSwhG3sjz3ce64bBIdb8+spLNSIs7vXj0rQNY80Q3+orWwQoMmOaxwiwKeGNPCBcc24r/d0onfr851xzBZZUQTeU6eLmsEjhHVWdAi2c8BxJZ7A8lEM/IUHnu3OxmCSaRlcx4TuYGPWqeQQgh9YkSWTLljXZbe4c/hvcDMSxsc426PrJWlQ8quTX/g6e2I5zMYsuhSMlz2z1WzG52wGISwTlHTzCB37zSg5vOmoZ7L5uNnX1xhBNZuGwSwIFoSq76DGh+xjMQTWFfKAlZ5TCLAkQGKByIpLJgYDgwkKzK+43VcF3mklkFBweSsJpEnHVMS03OjRBCpjJKZIkmJEk/P1qjbeRxWSX0RlIYphJVXayPHGkMsbSCvlgG7wfiJccbbCYc0+aCwywinlaQyGZKbuMfjmXQ1jY5s57zfS7MaXHguW1+cA7YJKEwDpHlyn2JAsML2wK4+KTpNZn5Hrw2d18oUZilVjnHr1/ejRe2BepqzbSerkMyPIqj/lEMtUPfWVJ1giCgubm51qdRsdE28jjMEgCGRFqGxzZ0DWQ9rI8sN4ZUVsGuvjgOhVMlj53V7EA6q2B+qwvRlIzNByNlb+NnJeek7bIVBIZzFrTg2e5ecORmYUUGKCpHRlFhEgV0Ntqxs8Yz3/m1uX96ez9+/sIuMDBMb7DCZpbqbs203q5DUh7FUf8ohtqiWhCk6jjnSCQSuukrXbyRpxxBYLCaBETS8pAx5ddHzvM5a7o+sngMsqLi/UAMr+zqL0liTSLDTcuPwb99djEa7GYEoins8EcRTcuQBAE2SYAkCIiksgjFMzjQF57UGE5vsKPRYYbbKkFWOZJZBbLK4bJKmNfqQovTgoys1EVlgBe29UFROea3OuG0miAKDA6LhK5GO8LJLNZt6Kl5aTa9XYekPIqj/lEMtUUzsqTqOOeIRCKwWq262KE52kaevlgaJ3Z6EEvJJesjU1kFgVhas9qlYx3D7BYHXt3Vj3Ayi2zROghJYHDbJCyb3Yxrz5wDAKPexpcEhk17DuFjJ3dBksRJGYPHboLHZobLmvu1lD0yE+uwSGAA4mm55jPfwNhqytayW5zerkNSHsVR/yiG2qIZWTLlVVJk/7rz5uPbHzkWx7V7EEnJ2B9KIJKSsajdU/PbyJxzPL2lF2/2hNAXyxSSWAagzW1Bh9eGmU0OXPWhmRAEVriNr6ocKudQOMCBwiyoSRQwo8mOQwMp7AhMXoH//AeKvlgaDrMIr90M55Ektl5mvoHiZRzlE3yrSaybmWNCCDE6mpElBEM38gxXZH8ya5cCozc3eHNvCGse78bre0Ilz3NbJXjtJjgsJszzOYeUycrfxs8qKhIZFRlFhXBkY1uH1w63RUQ2nUY4IWs2tsGGqwxQTzPfgD5ryhJCiFFRIkuqjjGmyw4mlRTZr0bt0ko7b43U3KDZacE9T27D+vcOlTzngzMbcfOKBbBbxBFff7Tb+Il0FhZWndazY1GLrl1jpZeasnq9DkkpiqP+UQy1xTitPi4RiUTg8XgQDofhdtdufRsxpko7bw1tbpCbATwcSSGelhFKZEs6cs1uceDm5Qtw/rGtFf2yVFWO6x5+G5sPhtHVaB+SjPUcaT37w8tPqskM6Fja7NZCPj7hZLbszHGtl5sQQoiejSUXozWypOo454hGo7RDc5B88rPpQBju/C18q1Qo2bSxJwhgaHOD/O3rQCyN/aEkArFMIYltdppx58WL8NR1Z+KC49oq/sQ/+rpgCZ8+uQW1mkDIz3yfOrsJC9rcdZXEAkdnjutxzXQeXYfGQHHUP4qhtmhpAak6zjni8TgcDgfdSjmiks5b+Ta3xbviAeBQOIn3A3GkZbXwegzAp0/txK0rj4WzzDrNSox0G/+KpTPQYc2Cc04xHEYlS1Fqia5DY6A46h/FUFuUyBLDqsXt6eHecywlm/K74hMZhk0HI4ilSzdctbmtsEoMHz9x+riT2LzhkjGAw+/3T+i1p4JqrJkmhBAyfpTIEkOqdC3qZL2nrPARu4cVt7kNJjI4FEkhni5t0NDkMGOuzwkGIJKSq7YRq1wyVuti/oQQQkglaI0sqTrGGGw2W81uoVS6FnUy3/PAQGLE7mGprALGGP7jb7vxj799sySJdVkkLO5swEmdDXCYxUmpp1rrGJKJoxgaA8VR/yiG2qIZWVJ1jDF4PJ6avPdY1qJWa5lBJe/5wtYA5rQ4sOVQZEjJpqyiYFtvFJGkjB3+WOG4WWRosJsxq8kOm1lCPC1PWj3VWsaQVAfF0BgojvpHMdQWzciSquOcIxwO12SH5ljWok7me+4MxHHOAl9JlYCsouL9QAx/3dmPUCIL5cj3y2WVcPOKBXjwCx/EabObEE0rk74rvpYxJNVBMTQGiqP+UQy1RTOypOo450gmk3C5XJN+K+Vo+9DR16JO9ntOb7DhtosWYu3f9uCtfQPojaQK7WQBwCQyfO60Lnz93HnwOswAgFNnNdVkV3wtY0iqg2JoDBRH/aMYaosSWWIotWgfOpb3TGZyTQ32h5Ilj7no+Gm4afkx6GpylBynXfGEEELI8CiRJYZSi/ahlbznrCYHfvKXnUNayn5gphe3rlyIxTO8VTsfQgghZKqgNbKk6hhjNSv8PHrHqvFtlFJVjq2HI3htVz+2Ho6UlKca6T139cURSWXxwvZASRI7u9mBX16xBP/zD0vrMomtZQxJdVAMjYHiqH8UQ20xTquPS4ylvy+pX+Vqus7zOXHlOOrIVlqTtvhxqayMWFpBMH60nSyQqwV73Xnz8KkPzoBJpM+RhBBCyGBjycUokR2EEtmJ45wjFArB6/XW9BNoNTp75evDDiSy8LkssJpya2HzZbAGVxCQZRW/fHkXHvjbbvTFMoXjVpOAa86YjS+dORsua/XW52qlXmJIxo9iaAwUR/2jGI7dWHIxWiNLqo5zjkwmA855TS/aiW6UGmtN2g07+3DXE93YdCBSeA3GgMuWdOCG849Bm8c64TFNlnqJIRk/iqExUBz1j2KoLUpkCRlGpTVpn95yGL97fR9e2BYoecxZ81twy8oFVHWAEEII0QglsoQMY7T6sIwB+0MJfPm3b6J4gc6x09y4deVCfGhe8ySdKSGEEDI1USJLqo4xBrfbrftbKMPVh5UVFT3BBPYGEyjax4V2jxU3XngMLj5p+qQ0LdCSUWI4lVEMjYHiqH8UQ21RIkuqjjEGu91e69MYs8Gbw+Y2O0vqw3IABwdS2NUXK+nI5bRI+Mdz5uKq02fCahJrN4Aq0msMyVEUQ2OgOOofxVBblMiSqlNVFcFgEI2NjRAEfZSYGq7E1qmzG7EvGMeWQxEMJLNIZdWS5608vg3fvfh4NB5pKTtZqlGRYeTX118MSSmKoTFQHPWPYqgtSmSJJmRZrvUpVGxoiS0LUlkFmw+Gse1wBGlZxeFIuuQ57R4rbr1oAT5ywvSanG8ldW0nSk8xJOVRDI2B4qh/FEPtUCJLprThSmwJjCGakuGPliawx7S6cO3Zs/HxE2uzDnakpHv1+u4hdW0JIYQQI6NElkxpg0tsZRUVu/vi2B9KorhTyPQGG/75I8fiwuNaa7Zgf6x1bQkhhBCjo0SWVB1jTDcdTPIltkyiGT39cezpT5S0lDWJDA02E+755PE4fW5LDc+08rq22/3RCdeu1VMMSXkUQ2OgOOofxVBblMiSqmOMwWIpX3tVa2PdBOWySUhmVby2J4iMfHQjl8CAGY12NDstSGQUNDlrM55io9W1tZpE9MXSCCeyE36vWsaQVAfF0BgojvpHMdQWJbKk6lRVRSAQQEtLCwCm6e76Yht7glj7tz3YfDCCdFaBxSTiuHY3Pn/6zLLrRjfs7MNdj3fjwECy5Pg0jxWzmx2wSAJ6ggksavdgvs+lyTmPxXB1bfNS2dzGL4/dNOH3Ko4h7bLVJ4qhMVAc9Y9iqC1KZIkmOOd4c28I617Zq/nueiCXxN7yyHs4EEoWddnKojeawrbeKNZccnzhPbf3RrHm8W48P6ilrM0kYq7PgSZHbgNVTzABj82EK5d11cWa0/k+V0ld2+LbVJxzBGLpqibdvLhdGdEliqExUBz1j2KoHfpoQDSx059LFjcdCMNtldDhtcNtlQq76zf2BKv2XqrK8cNndqCnPwEOwCwJsJkEmCUBnAM9/Qnc/8wOHB5I4uY/vovl979UksQeO82Nf/noQpx/bCsUNdd2NpKSsajdU1dVAASBYdWyLnhsJvQEE4inZSgqRzwt113STQghhEwG3czIrl69GuvXr8fbb78Ns9mMgYGBIY/Zu3cv/vEf/xHPPfccbDYbPvOZz+AHP/gBzObJLVY/1akqx3Nb/Ud21zs0312/tTeCd/cPgDHAJgmF95MYIDIBsYyM13b346wfvIB00TrYaR4rbrzgGHxica6UlrpU2yYD1bCkqxG3XbSwUEe2L5aGWRKxqN2DKzWY6SaEEELqmW4S2Uwmg8suuwxLly7Ff/zHfwz5uqIouOiii9DS0oK//vWv6O/vx6pVq8A5x09+8pManPHUtSMQw8bDClomYXc9AGw+EEEqq8Bulobcbk/JKjIyP1JKK/e/LouEL58zB184fVZJS1lBYFU5H60t6WrE4k6vpkk3YwxNTU20y1bHKIbGQHHUP4qhtnSTyN5xxx0AgLVr15b9+tNPP40tW7Zg3759aG9vBwDce++9+PznP4/Vq1fD7a7/BMUoIkkZiawCr9Na9uvV3F1/FDuyBin3/xmFI5GRoRQtSxIYcOXSmfjauXProgrBRGiddDPGIIoi/eLVMYqhMVAc9Y9iqC3dJLKjeeWVV7Bo0aJCEgsAF154IdLpNDZu3Ihzzjmn7PPS6TTS6aPdmyKRCIDcLkNVzd2GZoyBsVyCVLxge7Tj+eeP97ggCENee6zHx3vuExmTyypgrkvBQFYesruegyGVlWGRBLhtYuF5ExnTsdOcsJsY0ooCAEhkFGTV0teRBIaff3YxPrywFUAuvlM9TiMdB4De3t4hu2z1PCYjxmmkc1cUBX6/vySGeh+TEeM02vH8jnefzwdRFA0xpomeu97GlI9ha2tr4Wt6H9NEjldy7uX+TRqOYRLZw4cPo7W1teSY1+uF2WzG4cOHh33emjVrCrO9xQKBAFKpFADAZrPB4/EgEokgmTxaqsnhcMDlciEUCiGTyRSOu91u2O12BIPBkv7KXq8XFosFgUCgJLhNTU0QRRF+v7/kHHw+HxRFQX9/f+EYYwytra3IZDIIhUKF45Ikobm5GclkspCMA4DZbEZjYyNisRji8XjhuJZj8nAV0xss2LkvhZmO0tv9vRkzBuJpLOsww8OT8PtTEx6Tl3Es7bDgpT0JhFOl/awdEmA3AQs6GnFym7nkezzV4zTSmJqbm6GqKvx+fyEJ0vuYjBin0cY0MDAAzjkEQTDMmIwYp5HGpKoqwuEwzGYzmpqaDDEmI8ZppDGpqloYh1HGBGgbp2g0ikoxPjgdn0S333572SSy2Ouvv45TTjml8Pe1a9fiuuuuG7LZ60tf+hJ6enrw1FNPlRw3m81Yt24dPvWpT5V9/XIzsp2dnQiFQoXlCEb7dKj1mFRVxSubd+H+v/kRTmbR4rTAasrVP/XHMvDYJNy6ciFOnuGd8JhC8TR++vz7WPdKT0lHLgbAIjKYRIZpXhvWXHICTp7hpTjRjKyh4kQzssYfE83I6n9MNCM79nOPRCLwer0Ih8OjLg2t6YzsV7/61WETzLyZM2dW9FptbW147bXXSo6FQiFks9khM7XFLBZL2Y4bgiAMKVyc/2YPNtzx4Qofj+X4WN9T6+OVnvu8VjduWdlUqCMbiGVG3V0/lnNJZRWse2UPfvrcTkSKZmHNogCXTYJFZLCaJSxq95TUraU4VXY8v/SiGtdBvYypludeyzENjqERxjTZx2s9puH+eyKvX+sxaXG8nsc03vjV85jGe7yScx9L44iaJrLNzc1obm6uymstXboUq1evxqFDhzBt2jQAuQ1gFosFS5Ysqcp7kMoIggCfz4c2QcDJMxqrurteVTn+792DuOfJbSUduSySgKvPmIUvnTEbhyKpui6hpQf5GFIXGv2iGBoDxVH/KIba0s0a2b179yIYDGLv3r1QFAVvv/02AGDu3LlwOp244IILcOyxx+KKK67A97//fQSDQdx444245pprqGLBJOOcQ1GUI7NB1dtdv+H9Pqx5fCveOxAuHGMMuPTkDnzzgvmY5rEBADx2qhs8UcUxLPeJmtQ/iqExUBz1j2KoLd0ksv/yL/+CBx98sPD3xYsXAwCef/55nH322RBFEevXr8dXvvIVnH766SUNEcjk4pyjv78fPp+vKhftjt4o1jyxFc9tLV3Efub8FtyyYgEWTqMPKtVW7RiSyUcxNAaKo/5RDLWlm0R27dq1w9aQzZsxYwYee+yxyTkhojl/JIUfPrsdD7++D8XVtBZOc+PWlQtwxryW2p0cIYQQQmpON4ksqR+qqm0r13haxr+/tAu/enkXEhmlcHyax4pvHmkpK9Zo3avWYyeEEEJI5SiRncLGk5Rt7AniwQ092OmPISMrMEsi5vqcJZUBgPLVAUYjKyoefmMffvjMDvTFjpZEc1okfPnsOfjih0pbyk62SsduFHQLTP8ohsZAcdQ/iqF2alpHth5FIhF4PJ6Kapfp2XiSso09Qaxe342BRBY+19HasIFYGh6bCbddtHBcCR3nHH/p9uPuJ7dipz9WOC4JDJ87rasuWspqNXZCCCGElBpLLkYzslPQ0KTMglRWweaDYaxe311IyopnbF1WCWv/tgcDiSxmNtkLny4dFgl2s4ieYALrNvRgcacXjAGZTAZms3nUT6Hv7h/A6vXdeG13sOT4ikVtuGn5Asxqdmj2faiUqnI8uKGnorEbZZkB57ziGJL6RDE0Boqj/lEMtUWJ7BRTaVKmqsBDrx6dsVUB9EXT6PTahlyIjDG0OC3Y4Y9huz+K+T4nQqHQiDs09wUTuOepbfi/dw6WHD95RkPdzW5u90ex0x+Dz2UZdezVKjVWa5zzUWNI6hvF0BgojvpHMdQWJbJTTCVJ2Tv7B7D9f6NIy2phxtYfTSGZVbAvlITVJKHBbip5rtUkoi+WRjiRHfH9BxIZ/PS5nVj3Sg8yytF2dDOb7PjW8gVYvqit7i70cCKLjKzAaiq/vKHSsRNCCCGkuiiRnWIGJ2UcuSoBWUWFSRRgkQT0xdJwW01Y0OYqJJUuqwlmUUBGUbF/IAGPzV2ScKayuXW2nkEJbl5aVrBuQw9++vxOhJNHE75Ghxnf+PA8fObUGTCJ9dn1xGM3wSzl1sQ6LEMvmdHGTgghhBBtUCI7xRQnZVmVY38ogXhagco5BMYgCkBaVtHsLJ2xdVgkOK0Swsks4mkZ8bQCpzX348M5RyCWxqJ2D+b7XAA4JCn3tXxL2e8/tQ37Q6UtZb/4oVm49uw5cFvrOwGc73Nhrs+JzQfDsJvFku/L0LEbRz6GRL8ohsZAcdQ/iqF26Ds7xeSTso09QUSSWSgqYJYEiIIAWVERS8vgHBAHVbliADq8diTSEaRkFdFUFjZz6c79K5d1HdnsxNDc3IxX3u/Hmie68e7+0paylyzOtZRtb7BN6tjHSxAYVi3rwur13egJJtDiHFq14OjYjUEQBDQ3N9f6NMgEUAyNgeKofxRDbVEiO8UIAsMVp3Xh5R0BpGQVDrMEkQGKypFVOaySiIysYm9/Al67BcWpWYPNhBlNDuwLJpCSVewPJWCWRCxq9+DKorJd2w9HcNf6LXhhR3/Je58xrxm3rFiIY9v1tyFqSVcjbrtoYaFkWV8sXXbsRsE5RzKZhM02dHMf0QeKoTFQHPWPYqgtSmSnIJdNgsdmgsAY0rKCDAcEBrisEqZ7bOgJJhBNyYilsnAV3fbnnCOVVXD2MT5ce/ZsRJNySSMFfzSFHz6zAw+/vrekpeyCNhduXbkQZ87Xd0vZJV2NWNzpnRKdvTjniEQisFqt9ItXpyiGxkBx1D+KobYokZ2CwoksJIFhUbsbqayKrKrCJAhwWHLrPzmALYci2B9KYkYjG3IbfdWyLhw7zVN4veFayra5LfjmBcfgkpM7atZSttoEgRmmxBYhhBCid5TITkH5DV9pWS1s2CpmkQRM81gxs8kBfzQ97G10WVHxP2/sxw+f3Y5AtLilrIjPLWnF1y5YBEedb+QihBBCiH5RIjsFVbIL/8SOBtx72YnY2Rcbchudc47ntvpx9xNbsWNQS9nPnDoDXzt3LsRsAvYypaqIPjDGqAuNzlEMjYHiqH8UQ21RpjEFVboLX5KEIbfR390/gLse78aru0pbyi4/rg03LT8Gs1ucR45YJ2k0RAuMMTQ2GmsD21RDMTQGiqP+UQy1RYnsFDXWXfj7ggl8/6lt+HOZlrK3rlyIU2YefTznHLFYDE6nkz6B6hTFUP8ohsZAcdQ/iqG2KJGtEVXlNd/9Xsku/HAii58+vwMPbihtKdt1pKXsijItZTnniMfjcDgcdNHqFMVQ/yiGxkBx1D+KobYoka2BjT3BwkxoRs61N53rc2JVDeqRDrcLPy0reOiVHvzkudKWsl676UhL2S6YpfpsKUsIIYSQqYES2Um2sSeI1eu7MZDIwueywGqyIJVVsPlgGKvXd+O2ixbWtLj+SC1lv/ChWfiyDlrKEkIIIWRqoER2Eqkqx4MbejCQyGJmk71wi8FhkWA3i+gJJrBuQw8Wd3prUmT/1V39WPN4N94Z1FL2E4un48YLjqm4pSxjjDqY6BzFUP8ohsZAcdQ/iqG2KJGdRNv9Uez0x+BzWYb8QDPG0OK0YIc/hu3+6KQW3d/pj+LuJ7bi2W5/yfEPzW3GLSsX4Lh2zzDPLI8xBo9nbM8h9YViqH8UQ2OgOOofxVBblMhOonAii4yswGqylP261SSiL5ZGOJEt+/VKVbqRzB9N4f5nd+Dh1/dBKeopu6DNhVtWLsSZ85rH9Qky347P7XbTJ1CdohjqH8XQGCiO+kcx1BYlspMo31ErlVXgKNMsIJXNbfzy2Me/BrWSjWSJjIxfvbQbv3zp/ZKWsq1HWspeOsGWspxzJJNJuFwuumh1imKofxRDY6A46h/FUFuUyE6iSjpqLWr3YL7PNa7XH20j2c0rFmCnP4bvP7UNoaJZX6dFwrVnzcYXPzQbNrM44XHWs3ooe0YIIYSQ6qBEdhJV2lFrPInVSBvJbCYB3Yej+PwDr5fMwALAzCY7/uUjx+Lcha0THl8+SRyIZyBlEmhu5hDqqEJXPZU9I4QQQsjEUSI7ycbaUatSw20ki6Sy2OmPlczAAkCz04zpDTbE0jJ++vxOeOymCSVzpUmijBYrQ8vbA1i1bGZdJIn1Xvas3jDGqHi3zlEMjYHiqH8UQ21RIlsDlXTUGkm52+ODN5IlMwre74uhN5Iuea7dLGJhmwsNdjMAoMlhnnDZr+GTxEjZJHGyb+/Xe9mzesQYg8s1viUupD5QDI2B4qh/FENtUSJbI8N11BrNcLfHzz6mBWZJRCyVhT+Wwb5QAvxoIQIwACZRwKJpbrhsRzeTTbTsV/kkkaPDrsJutqEnmCxJEidye3+8CXC9lj2rZ5xzhEIheL1emkXQKYqhMVAc9Y9iqC1KZHVkpNvjPf1xJLMKth6OoKiSFkwig89lQW8khQa7CU7r0JBPpOxXuSSRATALKoRBSWI8LY/79v5EEuDJKntmJJxzZDIZcM7pF69OUQyNgeKofxRDbdXRVhwyksEznw6LBFFgsJtFWCUBmw9GsLsvXkhiGQM6vTacON0DgTGYRBEtTnPZi2giZb+OJonlqx1YTSIysoJQPFP2/B0WCV2NdoSTWazb0AO1OAs/Ip/AbzoQhtsqocNrh9sqFRLgjT3BEc+xuOxZOdUoe0YIIYSQyUeJrE6Um/kMJTJ4oyeEzYeikI8kgAxAh9eGuS1OWCQBiayKxTO8WNLlRUpWwXlpopgv+zXP5xxX2a9Kk8SBZLbs7X0OIJ5RYJEEvHcwjK2HIyXPHy6BryQBzsuXPQvE0lUfPyGEEEJqh5YW6ETx7fF4WsbOQAx9sUzJY2wmAf/60ePw/07pHLKW9K19IU3KfpWrjcsBRGQJalFtXK/NPOT2fiiRwZ7+OJIZFSpXoarA6vXduOGC+YXlAtVY36pl2TOjYoxRFxqdoxgaA8VR/yiG2qIZWZ3w2E0QGMOWQxG8tjtYksQ6LCIWtDoxs8mBk2Y0FDaSnTq7CQva3BAEVij7dVy7B5GUjP2hBCIpGYvaPRMqPZVPEj02E3qCCcTTMhQV6EsBPcFkIUlscJTO3O4PJfHu/jBC8SzSsoKswqHy3Gau4uUClS5dGG19q1bjNyrGGOx2O/3i1TGKoTFQHPWPYqgtmpHVgURGxpPvHcb7fXEoRbfQLZKA2c0OtLkt2BtKYlG7e8Tb4xMt+zXS6xbXxu2PpTDDydHW3oArjtSRVVVemLnNKCre74tBUTlEAQAHFA4wgSGdVdEbSRUqHVSzra9W4zciVVURDAbR2NgIoZ66WpCKUQyNgeKofxRDbVEiW8cUleP3b+zDfc9shz96tB4sY0BHgw0zmxzIKir2hpIV3x4fb9mv0RQnibnOXhGcNK8LkiQW3nfVsi5897Et2HooCkXhyJ0qgwqe27hmEiGrHKmsiu29UWz3R6ve1ler8RuRLMu1PgUyQRRDY6A46h/FUDuUyNYhzjle2BbAmie6sb03VjguCgznL/SBc2BfKIlD4WRVuoJVSz5JVFUVfr88JKle0tWIK5Z24Z//tBkcuY1eAIckCrBJIkwig6BypGQFsbSMcCJL61sJIYQQMixKZOvMpgNh3PV4Nza8319y/IJjW/GtFQswp8U56Z2xqml6gx2NDjNUNQ1RZJAEAaLAkD97kQEplUNgrLBcQKu2voQQQgjRN0pk68T+UAI/eGob/vT2wZLjJ3U24NaVC/HBWUeTNa1vj080UWaMDdvBxGM3wWU1IZGRkcyqJUkskFsrq6ocs5sdJcsFaH3r5BophkQfKIbGQHHUP4qhtiiRrbFwMoufPb8TD2zYg4ysFo7PaLTjW8sXYOXxbZP6wz+RDlp5jDFYLOW7aOXXvIaTGWRkFcmsArOYm5WVFRWJrAKnRcJXzp0zJEml9a2TZ6QYEn2gGBoDxVH/KIbaokS2RtKygt+8uhc/eW4HBopKRzXYTfj6ufPwudO6YJYmd3fjSC1wR2shW0xVVQQCAbS0tAzZoZlf87o/lACQqzqQyqpIyRyqCjgtEm688Bh8YGaTJmMklRkphkQfKIbGQHHUP4qhtiiRrZEtByO487Ethb+bJQFXnT4TXzl7Ljy2yW+VOriDVn4W2GGRYDeL6AkmCiWxKrmdP7iDVrHBa16jqSxEgWFWswNfOXsuPjCL1rzWg5FiSPSBYmgMFEf9oxhqhxLZGlk8w4sVi9rwxKbDuGTxdNxwwXx0eO01O59qdNAaC1rzSgghhJCJokS2hm5duRD/eM5cLJruqfWplLTALcdqEtEXS4/aQWssaM0rIYQQQiaCEtka6my0o7PWJ3HE4A5aHEA8LSOrqDCJuTU9lXbQYoyhqamJdmjqGMVQ/yiGxkBx1D+KobYoka1jk1kvtriDVkZRcWAgiXhagco5GHIX4uIZlXXQYoxBFEW6aHWMYqh/FENjoDjqH8VQW5TI1qnBZbBMooBWtxXnLvThg7Maq57U5qsJ3PLIe9h8MAIGwCIJkAQBKVkBVzl6I2m8tS80auWCXGcvP3w+H+3Q1CmKof5RDI2B4qh/FENtUSJbhwaXwUrLAvYGE3g/EMOru/rR5rHihI6GMdV2rcTiTi98LisOhJJgDMiqHALj8NhM6GiwYSCZHVPlAkIIIYQQLVEiW2cGl8EKJ2W8H4hBVjnsZglpWUE0lcXmA2Or7VqJ7f4ogvEMFrW7ATBkVRUmQYDDkrslYhKFqlYuIIQQQgiZCJrjrjPFZbCAXOtaWeWwSQIkgcEiiUjLHE1OM8JHZkhVtTr16fKVC2xmCU6rBK/dDKdVKqzrsZpEZGSlqpULCCGEEELGixLZOnO0DJaIeFpBPCPDLAqFZFIUGFTOIau8pLZrNRRXLignlVUqqlwgCAKtBdI5iqH+UQyNgeKofxRDbdF3tc4UJ5NZVYXKAbFoOaqicghHbvOPNEOqqhxbD0fw2q5+bD0cqWjWNl+5IBBLD+lCwjlHIJbGPJ9z1MoFnHMoikKdTHSMYqh/FENjoDjqH8VQW7RGts4Ul8FqcpghMEDhgMQADiCjqHBZJTgsEhJpuewM6eCKB2ZJxFyfc9TNYfnKBavXd6MnmECL0wKrKZdUB2JpeGwmXLmsa9SNXpxz9Pf3w+fzUbkRnaIY6h/F0BgojvpHMdSWbmZkV69ejWXLlsFut6OhoaHsYxhjQ/784he/mNwTnaB8MumxmdAXSx9ZE6siq6hIZhVIAsu1sh1mhjRf8WDTgTDcVgkdXjvcVgmbD+Y2h23sCY74/ku6GnHbRQtxXLsHkZSM/aEEIikZi9o9Vd1YRgghhBAyUbqZkc1kMrjsssuwdOlS/Md//Mewj3vggQewfPnywt89ntq3fx2rfDL54IYevLt/ALG0jGSWw2UVMaPRAZPA0BNMDJkhHVzxIP/Jz2GRYDeL6AkmKiqftaSrEYs7vZPWjIEQQgghZDx0k8jecccdAIC1a9eO+LiGhga0tbVNwhlpqziZ/PuuIJ7b6oc/mkY0lUVaErGo3YPPndYFh0XCa7v64bGboHJeqHgw+PYFY6xkc9ho5bMEgU2oxBbdPtE/iqH+UQyNgeKofxRD7egmka3UV7/6VVx99dWYNWsWvvjFL+JLX/qSbncK5pPJBW1ufO60rpIZ0mgqi4deKV0H67WbEE5mCqW7BrOaRPTF0pqXzxIEAa2trZq+B9EWxVD/KIbGQHHUP4qhtgyVyN5555348Ic/DJvNhr/85S/45je/ib6+Pnz7298e9jnpdBrpdLrw90gkAiDXUk5VVQBH195yzkt2HY52PP/88R4XBKHktef7nMD/b+9uY5uq+z+Of07L1nasq4yx7SKATDQZupBx50KCBhKD+ueB44HRxHgF401IJoHsHzVKIoQY98A7EpJNeSIE4s1fjBgMJmgC84Zohg405q8JkrHFOuhgrN0s7WjP9cBrDd3Y6G7K2e/4fiUm9LdRv9996PY9Z7+eI6m967Kajvy/+v575y9/QaGuDKbUeekv9Q4k1ROLqzIUkPT3G8QkS5KtxOBV+WZ4VBLwyrbtvPVk27YGBwfl8/lGvEtzeE8TWZ9oHjcrJzf0ZFmWEomECgoKss4kmNyTG3Maq/Z0Oq1EIqHCwsJMhqb35MacbrRu27aSyaR8Pt+U9kpON6+na38mDj02vafJrOdS+/DPGYujg+yOHTsyWwZG09bWphUrVuT0fNcOrLW1tZKknTt3jjnINjU1XbeGSCSiK1euSJICgYBCoZCi0aji8Xjmc2bOnKlgMKje3l4lk8nMeklJiYqKinTp0iVdvXo1sz5r1iz5fD5FIpGscGfPni2v16sLFy5k1VBeXq5UKqWLFy9m1mxb2nfiTyUSSd1dOUOWlZKU0tVCS/7CYqUHk/Kn+jXHK1kej5Jpj3pThZppXZWVHtDifxUpZMcVjVp56ymdTsu2bVVUVKinp+eGPVmWpYqKCiWTSfX29mbWZ8yYobKyMsXj8cwBhiQVFhaqtLRU/f39GhgYyKxPp5xM76msrEwXL16UZVmZ32iY3pMbcxqrp0QioY6ODoVCIXk8Hlf05MacbtRTOp1WX1+fysvLNXv2bFf05MacxuopnU4rHo+rqqpKsVjMFT1J+c0pFsv9+viWPXwcv4l6enpGDDrDLVy4UH6/P/N479692rp1qy5fvnzD5//222+1evVqdXd3j3pa/3pnZOfPn6/e3l6VlPy9R3Q6HR3+dj6q//2/n1Xi96rYl30cYstSdzSujki/Sot9mndLQL4Cr64MphXpv6JbAgV68X8Wa9mCWXk/kopEItf9mpt6dDjWuht7kqTz589rzpw5WVtzTO7JjTmNVXsqldKFCxeyMjS9JzfmdKP1oe+n5eXl8nq9ruhpsrWb1tO1PxOHPmZ6T5NZz6X2aDSqWbNmqa+vLzOLjcbRM7JlZWUqKyvL2/O3t7fL7/ePerkuSfL5fJnT/dfyeDwj9tYOfbGHG219tL2541kf/tzReOq/d/7yydbI/+ecYr8u/zWoBaUz1fvXoJL9SRXO8Kpm7i3693WuI5uvnob+bi49Ob2ej5ycXp9sT+l0WpZlTcnrYLr05GTtTvY0PEM39HSz153uabQ/T+b5ne4pH+vTuaeJ5jede5roei61j+e9Tcbske3s7NSlS5fU2dmpVCqlU6dOSZJuv/12FRcX6/Dhw+ru7taqVasUCAR07Ngxbdu2Tc8888x1B1VTXXvnr5m+kfFdGUwpFCjUtvWL5fFYjl0+a8YMY/5pYRRkaD4ydAdyNB8Z5o8xX9mXX35Z+/btyzxeunSpJOnYsWNas2aNCgoK1NzcrMbGRqXTad12223auXOnGhoanCo5L66981dRoTfraMe2/75JQs3ckKorSxy77qvH48nrmXbkHxmajwzdgRzNR4b55ege2ekoGo0qFArltC/DKUN37+qLD173NrJO34HLtm3F43EFAoHr/loB0x8Zmo8M3YEczUeG4zeeWczMC6z+w03328jatq1oNDpiEznMQYbmI0N3IEfzkWF+GbO1ANm4jSwAAPinY5A12GRvIwsAAGAythZgylmWlXU3IZiHDM1Hhu5AjuYjw/zijCymnGVZKi11dp8uJocMzUeG7kCO5iPD/OKMLKacbduKxWJsbDcYGZqPDN2BHM1HhvnFIIspZ9u2BgYGeNEajAzNR4buQI7mI8P8YpAFAACAkRhkAQAAYCQGWUw5y7K4g4nhyNB8ZOgO5Gg+MswvrlqAKWdZlkKhkNNlYBLI0Hxk6A7kaD4yzC/OyGLK2batvr4+NrYbjAzNR4buQI7mI8P8YpDFlLNtW/F4nBetwcjQfGToDuRoPjLMLwZZAAAAGIk9ssMMHTFFo1GHKzFXOp1WLBaT3++Xx8OxkonI0Hxk6A7kaD4yHL+hGSyXs9gMssPEYjFJ0vz58x2uBAAA4J8rFovd8I1yls2mjSzpdFrhcFjBYJBLZUxQNBrV/Pnz1dXVpZKSEqfLwQSQofnI0B3I0XxkOH5Dt/WdO3fuDc9ic0Z2GI/Ho3nz5jldhiuUlJTwojUcGZqPDN2BHM1HhuOT6yXL2KwBAAAAIzHIAgAAwEgMsphyPp9P27dvl8/nc7oUTBAZmo8M3YEczUeG+cWbvQAAAGAkzsgCAADASAyyAAAAMBKDLAAAAIzEIIubIpFIqLa2VpZl6dSpU06Xgxx1dHToySefVFVVlQKBgBYtWqTt27crmUw6XRpuoLm5WVVVVfL7/Vq+fLm+/vprp0tCjpqamrRy5UoFg0GVl5ervr5ev/32m9NlYRKamppkWZa2bt3qdCmuwyCLm+L555/X3LlznS4D4/Trr78qnU7rnXfe0S+//KK33npLb7/9tl566SWnS8MYPvzwQ23dulXbtm1Te3u77rnnHj344IPq7Ox0ujTkoLW1VQ0NDfruu+/0xRdf6OrVq1q3bp0GBgacLg0T0NbWpj179mjJkiVOl+JKXLUAeff555+rsbFRH3/8se666y61t7ertrbW6bIwQa+99ppaWlp09uxZp0vBKOrq6rRs2TK1tLRk1hYvXqz6+no1NTU5WBkmIhKJqLy8XK2trbr33nudLgfj0N/fr2XLlqm5uVmvvPKKamtrtWvXLqfLchXOyCKvzp8/r6efflr79+9XUVGR0+VgCvT19am0tNTpMjCKZDKpH374QevWrctaX7dunU6cOOFQVZiMvr4+SeJ1Z6CGhgatX79e9913n9OluNYMpwuAe9m2rY0bN2rTpk1asWKFOjo6nC4Jk/T7779r9+7deuONN5wuBaPo6elRKpVSRUVF1npFRYW6u7sdqgoTZdu2GhsbtXr1atXU1DhdDsbhgw8+0I8//qi2tjanS3E1zshi3Hbs2CHLssb87+TJk9q9e7ei0ahefPFFp0vGMLlmeK1wOKwHHnhADz/8sJ566imHKkeuLMvKemzb9og1TH/PPvusfvrpJ73//vtOl4Jx6Orq0pYtW3TgwAH5/X6ny3E19shi3Hp6etTT0zPm5yxcuFCPPvqoDh8+nPXDM5VKyev16rHHHtO+ffvyXSpGkWuGQ9+Aw+Gw1q5dq7q6Ou3du1ceD8fA01UymVRRUZE++ugjbdiwIbO+ZcsWnTp1Sq2trQ5Wh/HYvHmzDh06pK+++kpVVVVOl4NxOHTokDZs2CCv15tZS6VSsixLHo9HiUQi62OYOAZZ5E1nZ6ei0WjmcTgc1v3336+DBw+qrq5O8+bNc7A65OqPP/7Q2rVrtXz5ch04cIBvvgaoq6vT8uXL1dzcnFm788479dBDD/FmLwPYtq3Nmzfrk08+0fHjx3XHHXc4XRLGKRaL6dy5c1lrTzzxhKqrq/XCCy+wTWQKsUcWebNgwYKsx8XFxZKkRYsWMcQaIhwOa82aNVqwYIFef/11RSKRzMcqKysdrAxjaWxs1OOPP64VK1Zo1apV2rNnjzo7O7Vp0yanS0MOGhoa9N577+nTTz9VMBjM7G0OhUIKBAIOV4dcBIPBEcPqzJkzNXv2bIbYKcYgC2BUR48e1ZkzZ3TmzJkRBx/8Mmf6euSRR3Tx4kXt3LlTf/75p2pqanTkyBHdeuutTpeGHAxdNm3NmjVZ6++++642btx48wsCpjG2FgAAAMBIvGMDAAAARmKQBQAAgJEYZAEAAGAkBlkAAAAYiUEWAAAARmKQBQAAgJEYZAEAAGAkBlkAAAAYiUEWAAAARmKQBQAAgJEYZAEAAGAkBlkAcIFIJKLKykq9+uqrmbXvv/9ehYWFOnr0qIOVAUD+WLZt204XAQCYvCNHjqi+vl4nTpxQdXW1li5dqvXr12vXrl1OlwYAecEgCwAu0tDQoC+//FIrV67U6dOn1dbWJr/f73RZAJAXDLIA4CLxeFw1NTXq6urSyZMntWTJEqdLAoC8YY8sALjI2bNnFQ6HlU6nde7cOafLAYC84owsALhEMpnU3XffrdraWlVXV+vNN9/Uzz//rIqKCqdLA4C8YJAFAJd47rnndPDgQZ0+fVrFxcVau3atgsGgPvvsM6dLA4C8YGsBALjA8ePHtWvXLu3fv18lJSXyeDzav3+/vvnmG7W0tDhdHgDkBWdkAQAAYCTOyAIAAMBIDLIAAAAwEoMsAAAAjMQgCwAAACMxyAIAAMBIDLIAAAAwEoMsAAAAjMQgCwAAACMxyAIAAMBIDLIAAAAwEoMsAAAAjMQgCwAAACP9BxSUM0UHhrDmAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 700x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 4.画散点图 + 拟合直线\n",
    "x_line = np.linspace(x.min(), x.max(), 200).reshape(-1, 1)\n",
    "with torch.no_grad():\n",
    "    y_line = model(torch.tensor(x_line, dtype=torch.float32)).numpy()\n",
    "\n",
    "plt.figure(figsize=(7, 5))\n",
    "plt.scatter(x, y, label=\"Data\", alpha=0.7)\n",
    "plt.plot(x_line, y_line, label=\"Fitted line\", linewidth=2)\n",
    "plt.title(\"Linear Regression Model Based on Gradient Descent\")\n",
    "plt.xlabel(\"x\")\n",
    "plt.ylabel(\"y\")\n",
    "plt.legend()\n",
    "plt.grid(True, linestyle=\"--\", alpha=0.3)\n",
    "plt.tight_layout()\n",
    "plt.show()\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
